Deployment 使用气流进行零停机部署

Deployment 使用气流进行零停机部署,deployment,continuous-integration,celery,airflow,airflow-scheduler,Deployment,Continuous Integration,Celery,Airflow,Airflow Scheduler,我的团队正在使用气流计划ETL作业。现在我们正在使用LocalExecutor。我们还进行持续集成 现在,当我们发布某些类型的更改(例如,添加新的操作员)时,我们必须重新启动prod airflow scheduler,以便获取更改。当我们重新启动调度程序时,任何正在运行的任务都会被终止,必须重新启动,这是一个巨大的痛苦 我正在试图找出如何避免重新启动调度程序,或者如何防止正在运行的任务因重新启动调度程序而中断。我读过一些关于这个主题的文章,例如,但没有一篇使用LocalExecutor 是否需

我的团队正在使用气流计划ETL作业。现在我们正在使用LocalExecutor。我们还进行持续集成

现在,当我们发布某些类型的更改(例如,添加新的操作员)时,我们必须重新启动prod airflow scheduler,以便获取更改。当我们重新启动调度程序时,任何正在运行的任务都会被终止,必须重新启动,这是一个巨大的痛苦

我正在试图找出如何避免重新启动调度程序,或者如何防止正在运行的任务因重新启动调度程序而中断。我读过一些关于这个主题的文章,例如,但没有一篇使用LocalExecutor


是否需要升级到Cellery作为执行器来完成此任务,或者是否有办法在LocalExecutor上完成此任务?

如果使用LocalExecutor,则无法实现您想要的目标。使用CeleryExecutor,即使重新启动调度程序,至少当前正在运行的任务将继续运行。然而,您也需要将新的东西部署到worker(芹菜),但这可以通过向现有worker发送优雅的关闭信号,并使用更新的代码创建一组新的worker来正确实现