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

如何在Airflow中定义具有用户交互的有状态DAG,airflow,apache-airflow,Airflow,Apache Airflow,我只是第一次启动了Airflow,试图弄清楚它是否允许运行带有过滤器的“管道”,过滤器可以是shell任务或微服务 考虑以下场景: 考虑一个有注册用户的web门户 此门户的用户可以启动工作流“W1”和“W2”。这也意味着工作流需要在用户之间隔离运行,并且需要状态持久性 让我们假设工作流W1是完全自动化的(我不打算详述它)。因此,这是一项正常的任务,可以在某个时候开始并完成 然而,工作流W2在工作流的某些点上需要用户交互。假设工作流W2包含三个步骤: 1) 预处理数据 2) 通过RESTAPI公

我只是第一次启动了Airflow,试图弄清楚它是否允许运行带有过滤器的“管道”,过滤器可以是shell任务或微服务

考虑以下场景:

  • 考虑一个有注册用户的web门户
  • 此门户的用户可以启动工作流“W1”和“W2”。这也意味着工作流需要在用户之间隔离运行,并且需要状态持久性
  • 让我们假设工作流W1是完全自动化的(我不打算详述它)。因此,这是一项正常的任务,可以在某个时候开始并完成
  • 然而,工作流W2在工作流的某些点上需要用户交互。假设工作流W2包含三个步骤:

    1) 预处理数据

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

    3) 后处理数据

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

问题1:我如何在气流中定义DAG,以便每个用户单独启动工作流w2

问题2:如何在循环中等待用户交互时“暂停并继续”执行

问题3:如何保持工作流,使其永远不会超时,并且可以随时继续

欢迎使用小代码示例(我也是Python新手)