繁体   English   中英

Airflow 传感器任务只等待一段时间

[英]Airflow sensor task only wait for a certain period

我试图弄清楚如何实现工作流,以便传感器任务等待外部 dag 完成,只等待一定天数。 这是一项日常工作,所以我希望传感器工作等待 3 天,然后在第四天发送 email,等待或执行其他任务。

有人可以帮助阐明如何实现这一目标吗? 另外,我们如何将“天数计数器”从一天传递到另一天? 非常感谢您的帮助。

您可以使用具有以下配置的ExternalTaskSensor

  • timeout = 3 * 24 * 60 * 60 - 3 天(以秒为单位),之后传感器将失效
  • poke_interval = 12 * 60 * 60 - 传感器检查之间的 12 小时,您可以将其调整为每小时检查一次。 检查外部dag state时会减少次数
  • mode = "reschedule" - 这样传感器不会占用 3 天的工作槽,它将被调度,执行,如果不满足条件,它将被重新调度到下一个poke_interval秒执行。 将此模式用于长时间运行的任务是一种很好的做法。

此外,您可以将等待的 DAG 构建为wait_task >> [success_task, fail_task]其中

  • wait_task是你的传感器
  • success_task具有触发规则all_success并在传感器成功时遵循
  • 带有fail_task触发规则的all_failed并在传感器最终返回 false 或超时时处理场景

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM