我正在使用 celery 构建应用程序,最近我们需要按计划运行某些任务。
我认为 celerybeat 非常适合这个,但我有几个问题:
- 是否可以运行多个 celerybeat 实例,从而不重复任务?
- 如何确保 celerybeat 始终正常运行?
到目前为止,我读到了这个: https ://github.com/celery/celery/issues/251 和 https://github.com/ybrs/single-beat
看起来应该运行一个 celerybeat 实例。
我在 AWS elasticbeanstalk docker 容器中运行应用程序,celery 工人也是 docker 容器(因此在需要时可以快速扩展)。
最好让 celerybeat 与 celery 工人一起通过 supervisord,但似乎这不是正确的方法。
同时,拥有单个 celerybeat 实例需要手动配置/启动和监控。