我正在尝试允许用户安排定期任务。我还在一个容器中运行多个芹菜工人。 我对该容器的命令通常如下所示:
celery worker -c 4 -B -l INFO -A my.celery.app.celery --scheduler my.celery.scheduler.SchedulerClass
但是发生的事情是计划的时间在运行该任务时运行了4次。
所以我读到你应该有一个专心工作的人。我将命令更改为此:
celery worker -c 4 -l INFO -A my.celery.app.celery
并添加了另一个与运行命令的容器完全相同的容器:
celery -l INFO -B -A my.celery.app.celery --scheduler my.celery.scheduler.SchedulerClass
关于如何完成此操作的任何想法都会有所帮助
答案 0 :(得分:1)
您还可以通过启用worker -B选项将beat嵌入到worker中,如果您永远不会运行一个以上的worker节点,这很方便,但是它并不常用,因此不建议将其用于生产:
$芹菜-一个项目工人-B
因此,您可能需要使用以下命令独立运行 beat :
celery -l INFO -A my.celery.app.celery beat --scheduler my.celery.scheduler.SchedulerClass