Skip to content

Commit e9c2032

Browse files
committed
Add example of airflow python task_api
1 parent 755e648 commit e9c2032

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

12/task_api.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
from datetime import datetime, timedelta
2+
from airflow.decorators import dag, task
3+
4+
5+
default_args = {
6+
'owner': 'sozykin',
7+
'retries': 5,
8+
'retry_delay': timedelta(minutes=5)
9+
}
10+
11+
@dag(dag_id='dag_with_taskflow_api',
12+
default_args=default_args,
13+
start_date=datetime(2023, 7, 16),
14+
schedule_interval='@daily')
15+
def hello_world_etl():
16+
17+
@task(multiple_outputs=True)
18+
def get_name():
19+
return {
20+
'first_name': 'Андрей',
21+
'last_name': 'Созыкин'
22+
}
23+
24+
@task()
25+
def get_age():
26+
return 44
27+
28+
@task()
29+
def greet(first_name, last_name, age):
30+
print(f"Привет! Меня зовут {first_name} {last_name}, мой возраст: {age}")
31+
32+
33+
name_dict = get_name()
34+
age = get_age()
35+
greet(first_name=name_dict['first_name'],
36+
last_name=name_dict['last_name'],
37+
age=age)
38+
39+
greet_dag = hello_world_etl()

0 commit comments

Comments
 (0)