如何解决气流-暂停/取消并行运行同一DAG的各个dagrun
我们目前正在评估一个项目的气流。我想知道是否有一种方法可以在并行运行DAG多次时停止/启动单个dagrun。暂停/取消暂停dag_id似乎暂停/取消暂停了dag下的所有dagrun。相反,我们要暂停单个dagrun(或其中的任务)。让我知道气流是否可以实现。
如果不可能的话,这是我正在考虑的其他选择,请告诉我您对此的看法
- 更改任务状态。 –将dagrun下的所有任务更改为“标记为失败”或“成功”。这样,特定的dagrun便会停止在其轨道上,而不会影响其他dagrun。
- 气流传感器从s3或http或sql或某处提取此信息以暂停当前dagrun。并有一个任务要在s3上每次检查是否需要停止此dagrun(而不是其他dagrun)。
- 子项。 -我们可以暂停/取消暂停subdags吗?这样,对于每个并行用户的请求,我们都会执行一次subdag,并且可以暂停userAs subdag,而不会影响其他用户的subdag。
解决方法
Airflow中没有任何东西可以支持它,但是您可以(ab)通过将DagRun
更改为"failed"
暂停然后再回到"running"
来使用urllib.error.HTTPError
的状态恢复;您将无法取消暂停,但要进行测试,它应该是可行的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。