Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
김진영
airflow-test
Commits
c53bd808
Commit
c53bd808
authored
May 11, 2022
by
김진영
Browse files
Add new file
parent
de283d02
Changes
1
Hide whitespace changes
Inline
Side-by-side
tutorial3.py
0 → 100644
View file @
c53bd808
from
datetime
import
datetime
,
timedelta
from
textwrap
import
dedent
# The DAG object; we'll need this to instantiate a DAG
from
airflow
import
DAG
# Operators; we need this to operate!
from
airflow.operators.bash
import
BashOperator
with
DAG
(
'tutorial3'
,
# These args will get passed on to each operator
# You can override them on a per-task basis during operator initialization
default_args
=
{
'depends_on_past'
:
False
,
'email'
:
[
'airflow@example.com'
],
'email_on_failure'
:
False
,
'email_on_retry'
:
False
,
'retries'
:
1
,
'retry_delay'
:
timedelta
(
minutes
=
5
),
# 'queue': 'bash_queue',
# 'pool': 'backfill',
# 'priority_weight': 10,
# 'end_date': datetime(2016, 1, 1),
# 'wait_for_downstream': False,
# 'sla': timedelta(hours=2),
# 'execution_timeout': timedelta(seconds=300),
# 'on_failure_callback': some_function,
# 'on_success_callback': some_other_function,
# 'on_retry_callback': another_function,
# 'sla_miss_callback': yet_another_function,
# 'trigger_rule': 'all_success'
},
description
=
'A simple tutorial DAG'
,
schedule_interval
=
timedelta
(
days
=
1
),
start_date
=
datetime
(
2021
,
1
,
1
),
catchup
=
False
,
tags
=
[
'example'
],
)
as
dag
:
# t1, t2 and t3 are examples of tasks created by instantiating operators
t1
=
BashOperator
(
task_id
=
'print_date'
,
bash_command
=
'date'
,
)
t2
=
BashOperator
(
task_id
=
'sleep'
,
depends_on_past
=
False
,
bash_command
=
'sleep 5'
,
retries
=
3
,
)
t1
.
doc_md
=
dedent
(
"""
\
#### Task Documentation
You can document your task using the attributes `doc_md` (markdown),
`doc` (plain text), `doc_rst`, `doc_json`, `doc_yaml` which gets
rendered in the UI's Task Instance Details page.
![img](http://montcs.bloomu.edu/~bobmon/Semesters/2012-01/491/import%20soul.png)
"""
)
dag
.
doc_md
=
__doc__
# providing that you have a docstring at the beginning of the DAG
dag
.
doc_md
=
"""
This is a documentation placed anywhere
"""
# otherwise, type it like this
templated_command
=
dedent
(
"""
{% for i in range(5) %}
echo "{{ ds }}"
echo "{{ macros.ds_add(ds, 7)}}"
{% endfor %}
"""
)
t3
=
BashOperator
(
task_id
=
'templated'
,
depends_on_past
=
False
,
bash_command
=
templated_command
,
)
t1
>>
[
t2
,
t3
]
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment