【发布时间】:2015-01-27 02:38:46
【问题描述】:
我正在使用 celery 构建应用程序,最近我们需要按计划运行某些任务。
我认为 celerybeat 非常适合这个,但我有几个问题:
- 是否可以运行多个 celerybeat 实例,从而不重复任务?
- 如何确保 celerybeat 始终正常运行?
到目前为止,我读到了这个: https://github.com/celery/celery/issues/251 和 https://github.com/ybrs/single-beat
看起来应该运行一个 celerybeat 实例。
我在 AWS elasticbeanstalk docker 容器中运行应用程序,而 celery worker 也是 docker 容器(因此它可以在需要时快速扩展)。
最好让 celerybeat 和 celery 工人一起通过 supervisord,但似乎这不是正确的方法。
同时拥有单个 celerybeat 实例需要手动配置/启动和监控。
【问题讨论】:
-
德米特里你能想出办法吗?我有同样的问题。我在 ElasticBeanstalk 中有一个自动缩放应用程序,并且节拍调度程序正在运行多次
-
@jplaza 我们最终将 AWS ECS 部署为单个任务的单个实例(dockerized)
标签: python python-2.7 celery celerybeat