DAG中的动态运算符

时间:2019-05-24 11:53:50

标签: python airflow

我想知道实现Airflow DAG中动态操作员目标的目的是好是坏。

  

我必须实现的目标是在内部创建一个“ x”个运算符   基于API调用结果的DAG。该DAG每周(例如)每周运行一次。

我制作的程序可以运行,但是我不知道这是开发用于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

1 个答案:

答案 0 :(得分:0)

简短的回答,“是”,动态创建此类任务确实是一种常见模式。