如何自动重新安排气流任务

Nir*_*cov 6 airflow airflow-scheduler

我正在运行一个每小时的进程,从一个位置(“源”)获取数据并将其移动到另一个位置(“目的地”)。在大多数情况下,数据在特定时间到达我的来源,一切正常,但可能会出现延迟,当发生这种情况时,气流中的任务会失败,需要手动重新运行。解决此问题的一种方法是为数据提供更多时间到达,但我更喜欢仅在确实存在延迟的情况下才这样做。另外,我不希望传感器长时间等待数据,因为这可能会导致死锁(最好不要让每小时任务运行超过 1 小时)。气流是否允许在给定条件(失败或不存在数据)下重新调度任务,以便我们不必手动重新运行失败的任务?

谢谢!

tre*_*jas 7

查看 BaseOperator 的以下参数(这是所有运算符的父类):

\n\n
    \n
  • retry_delay (timedelta) \xe2\x80\x93 重试之间的延迟
  • \n
  • retry_exponential_backoff (bool) \xe2\x80\x93 通过对重试延迟使用指数退避算法,允许在重试之间逐渐延长等待时间(延迟将转换为秒)
  • \n
  • max_retry_delay (timedelta) \xe2\x80\x93 重试之间的最大延迟间隔
  • \n
\n\n

将这三者很好地结合起来应该会给你带来你想要的东西。

\n\n

https://incubator-airflow.readthedocs.io/en/latest/code.html

\n