改变 CELERYBEAT_SCHEDULER

Changing CELERYBEAT_SCHEDULER

我有两个使用相同数据库的 Django 应用程序。既使用芹菜又拥有自己的 CELERYBEAT_SCHEDULE。有没有办法在适当的 celery worker 中区分哪些任务应该 运行 ?现在来自两个应用程序的任务都安排在同一个工作人员中。 原因是 (?) CELERYBEAT_SCHEDULER'djcelery.schedulers.DatabaseScheduler'。我找不到任何 approach/scheduler 不使用数据库。作为经纪人,我正在使用 Redis(每个应用程序 local/different),因此来自 CELERYBEAT_SCHEDULE 之外的任务正常工作。

您可以在 CELERY_QUEUES 设置中定义两个队列,并使用 --queues=queue1 参数为每​​个 celerybeat 分配一个队列。

您可以使用选项将任务分配给特定队列:

'options': {'queue': 'queue1'},