在气流中,有没有很好的方法来调用另一个dag的任务?

bre*_*dan 3 airflow apache-airflow

我有dag_prime和dag_tertiary。

  • dag_prime:扫描目录,并打算在每个目录上调用dag_tertiary。目前是PythonOperator。
  • dag_tertiary:浏览传递给它的目录,并对其内容进行(可能很耗时)计算。

我可以从python运算符的系统调用中调用第二个,但我觉得必须有更好的方法。如果有一种简单的方法,我还想考虑对dag_tertiary调用进行排队。有没有比使用系统调用更好的方法?

谢谢!

Him*_*Him 9

使用TriggerDagRunOperator从另一个调用一个DAG。

可以在https://airflow.apache.org/code.html?highlight=triggerdagrun#airflow.operators.TriggerDagRunOperator找到详细信息

以下帖子给出了使用此运算符的一个很好的示例:https : //www.linkedin.com/pulse/airflow-lesson-1-triggerdagrunoperator-siddharth-anand

  • 您可以将其置于循环中,并根据需要触发多次。在我的用例中,我在使用for循环的DAG中使用了动态任务创建(使用不同的运算符,但与此运算符也应该相同)。 (2认同)