-
Notifications
You must be signed in to change notification settings - Fork 0
/
15_short_circuit.py
53 lines (39 loc) · 1.46 KB
/
15_short_circuit.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
"""
### Uso de ShortCircuitOperator
Este operador nos permite tener tareas con diferente schedule en un
mismo DAG.
El operador funciona mediante sentencias True o False, en caso de
True, las tareas que siguen al operador shortcircuit se ejecutan,
en caso de False, no se ejecutan.
Se define una función en python con el argumento "execution_date"
y se retorna el siguiente valor:
* return execution_Date.weekday() == 0
En donde el número representa el día de la semana, siendo el 0 el
número represantativo del Lunes, y así sucesivamente.
"""
from airflow import DAG
from datetime import datetime
from airflow.operators.dummy import DummyOperator
from airflow.operators.python import ShortCircuitOperator
default_args={
"owner":"Tinmar",
"start_date":datetime(2023,2,28)
}
def short_(execution_date):
return execution_date.weekday() == 1
with DAG(
'15_short_circuit',
catchup=False,
default_args=default_args,
schedule=None,
tags=['Curso 4', 'The Operators Guide']
) as dag:
task_a = DummyOperator(task_id='task_a')
task_b = DummyOperator(task_id='task_b')
task_c = DummyOperator(task_id='task_c')
short = ShortCircuitOperator(
task_id='short',
python_callable=short_
)
task_d = DummyOperator(task_id='task_d')
task_a >> task_b >> task_c >> short >> task_d