基于条件的条件DAG顺序(用于带If条件的循环)

时间:2019-12-12 13:20:21

标签: python airflow

尝试基于for循环中的条件参数设置图形顺序。

在下面的示例中,我想基于不同的颜色创建3个运算符集,其中两个颜色集遵循直接顺序,尽管绿色的颜色集具有不同的顺序,并附加了一个运算符。

我的代码结构如下:

for colour in ['red','green','amber']
        #operator definitions
        first_step = operator(
            task_id=f'step_first_{colour}'
            <params based on colour>
        )
        last_step = operator(
            task_id=f'step_last_{colour}'
            <params based on colour>
        )
        green_step = operator(
            task_id=f'step_{colour}'
            <params based on green only>
        )

        #graph definition
        if colour == 'green':
            first_step >> green_step >> last_step
        else:
            first_step >> last_step

运行上述结果会导致以下错误:

  

依赖项first_step last_step已注册。

0 个答案:

没有答案