我正在运行一个小时的过程,该过程从一个位置(“来源”)收集数据并将其移至另一个位置(“目标”)。在大多数情况下,数据会在特定时间到达我的原始位置,并且一切正常,但是可能会出现延迟,并且一旦发生延迟,气流中的任务就会失败,需要手动重新运行。解决此问题的一种方法是给数据更多的时间,但是我更愿意仅在实际上存在延迟的情况下这样做。另外,我也不想让传感器长时间等待数据,因为它可能导致死锁(最好是每小时执行的任务不会超过1小时)。气流是否允许针对给定条件(失败或没有数据)对任务进行任何重新安排,从而使我们不必手动重新运行失败的任务?
谢谢!
答案 0 :(得分:1)
检查BaseOperator的以下参数(这是所有运算符的父类):
在这三个方面取得良好的组合应该可以为您提供所需的东西。
https://incubator-airflow.readthedocs.io/en/latest/code.html