1 周任务依赖与上游天任务
1 只依赖上周的最后一天
1) 实现方式01
# 获取上周最后一天的日期
def getTrueWeek(ds):
import datetime
# 循环到本周末
while ds.weekday() != 6:
ds += datetime.timedelta(days=1)
# 格式化到上游的定时
return ds.replace(hour=23, minute=10, second=0)
from airflow.sensors.external_task_sensor import ExternalTaskSensor
depend_tab='table_name'
check_task = ExternalTaskSensor(
task_id='check_'+depend_tab,
external_dag_id=depend_tab+'_dag',
external_task_id='finish',
allowed_states=['success'],
execution_date_fn=getTrueWeek, # 获取上游的定时
pool='check_pool',
dag=main_dag
)
2) 实现方式02
检测的上游表有多个时, 周任务直接依赖同个需求的天任务,因为 天任务的检测和周任务是相同的.
-
-
-