气流任务重试未完成

时间:2020-11-03 11:33:21

标签: amazon-web-services scheduled-tasks airflow

我有一个生产环境,其中一个Airflow webserver/schedulerdocker的{​​{1}}实例中运行。

我正在使用AWS Blue / Green部署来实现始终可用的服务。

当我通过AWS进行新部署时,AWS CodepipelineAWS B/G中引发一个新的docker实例,然后删除旧的实例。完成后,正在运行的任务将失败。

我不太确定这是由于EC2scheduler之间的连接,但是尽管有webserver,但它只是失败,并且没有完成重启。另一方面,当任务由于某些错误而失败时,它会重试。

我的dag参数是:

retry=2

1 个答案:

答案 0 :(得分:0)

我想为您的部署提供一个解决方案:

  1. 在蓝色部署上停止调度程序,以避免安排新任务
  2. 等待所有任务/ DAG完成或终止任务
  3. 继续部署绿色

您还可以使用execution_timeout,它也应该在一定时间后将任务标记为失败:

execution_timeout(datetime.timedelta) –执行此任务实例所允许的最长时间,如果超出该时间,则会增加并失败。