如何在Airflow中使用用户交互定义有状态DAG

时间:2017-06-16 16:55:02

标签: airflow apache-airflow

我刚刚第一次启动Airflow并试图弄清楚它是否允许运行"管道"使用过滤器,过滤器可以是shell任务或微服务。

考虑以下情况:

  • 考虑一个注册用户的门户网站
  • 此门户网站的用户可以启动工作流程" W1"和" W2"。这也意味着工作流需要在用户之间隔离,并且需要状态持久性。
  • 假设工作流程W1完全自动化(我不打算详细说明)。所以它是一个正常的任务,可以在某个时刻开始并完成。
  • 然而,工作流W2需要在工作流中的某些点进行用户交互。我们说工作流程W2包括三个步骤:

    1)预处理数据

    2)通过REST API公开数据,并允许(拥有工作流的用户)更改数据。这可以是一个循环,因此用户可以多次更改数据,直到工作流程继续下一步。

    3)后处理数据

到目前为止,我有三个问题,我无法通过文档或示例来解决这些问题:

问题1:如何在Airflow中定义DAG以便按用户隔离启动此类工作流w2?

Q2:如何"暂停并继续"挂在循环中等待用户交互时执行?

问题3:如何坚持工作流程,以便它永远不会超时,并且可以随时继续?

小代码示例welcome(我也是Python的新手)!

0 个答案:

没有答案