【发布时间】:2019-10-05 09:30:10
【问题描述】:
我目前使用 CeleryExecutor 作为后端来设置 Airflow 并正常工作,以提供水平缩放。这非常有效,尤其是当工作节点位于 EC2 上的自动缩放组中时。
除了 Airflow,我还使用普通的 Celery 来处理来自 Flask/Python 的简单异步任务(不需要整个管道)。到目前为止,这些普通的 Celery 任务的数量非常少,我只是在与 Flask 相同的机器上运行普通的 Celery 工作程序。现在需要在系统中运行大量的普通 Celery 任务,所以我也需要扩展我的普通 Celery。
这样做的一种方法是在 Airflow 工作服务器上运行普通的 Celery 工作服务(以从自动缩放等中受益),但这似乎不是一个优雅的解决方案,因为它创建了两个不同的“类型”的芹菜工人在同一台机器上。我的问题是,我是否可以将某些配置设置组合传递给我的普通 Celery 应用程序,这将导致 @celery.task 装饰功能作为普通 Celery 任务直接在我的 Airflow 工作集群上执行,完全绕过 Airflow 中间件。
感谢您的帮助。
【问题讨论】:
标签: python flask celery airflow