我有一个生产环境,其中一个Airflow webserver/scheduler
在docker
的{{1}}实例中运行。
我正在使用AWS Blue / Green部署来实现始终可用的服务。
当我通过AWS
进行新部署时,AWS Codepipeline
在AWS B/G
中引发一个新的docker
实例,然后删除旧的实例。完成后,正在运行的任务将失败。
我不太确定这是由于EC2
和scheduler
之间的连接,但是尽管有webserver
,但它只是失败,并且没有完成重启。另一方面,当任务由于某些错误而失败时,它会重试。
我的dag参数是:
retry=2
答案 0 :(得分:0)
我想为您的部署提供一个解决方案:
您还可以使用execution_timeout
,它也应该在一定时间后将任务标记为失败:
execution_timeout(datetime.timedelta) –执行此任务实例所允许的最长时间,如果超出该时间,则会增加并失败。