我想知道我为实现 Airflow DAG 内的动态运算符(operator)目标所做的做法是好是坏。
The goal I had to achieve was to create a 'x' amount of operators within a DAG based on the result of an API call. This DAG will run every for example every week.
我编写的程序可以运行,但我不知道这是否是为 Airflow 开发 DAG 的良好实践。所以我的问题是:这是一个好的做法,或者如果不是,什么是解决这个问题的更好的方案?
我用来实现这个目标的代码:
with DAG('my_dag', default_args=default_args, schedule_interval='@weekly') as my_dag:
start = DummyOperator(
task_id='start'
)
endpoint = 'www.example.com/api/dummies'
r = requests.get(endpoint)
dummies = r.json()
for _, dummy in enumerate(dummies):
dummy_operator = DummyOperator(
task_id='dummy_opr_{}'.format(dummy['id']
)
start >> dummy_operator
最佳答案
简短的回答,“是的”,这确实是动态创建此类任务的常见模式。
关于python - DAG 中的动态运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56292149/