我有两个使用相同数据库的 Django 应用程序。既使用 celery 又拥有自己的CELERYBEAT_SCHEDULE
。有没有办法区分哪些任务应该在适当的 celery worker 中运行?现在来自两个应用程序的任务都安排在同一个工作人员中。
原因是 (?) CELERYBEAT_SCHEDULER
到 'djcelery.schedulers.DatabaseScheduler'
。我找不到任何不使用数据库的方法/调度程序。作为代理,我正在使用 redis(本地/每个应用程序不同),因此来自 CELERYBEAT_SCHEDULE 之外的任务可以正常工作。
最佳答案
您可以在 CELERY_QUEUES
设置中定义两个队列,并使用 --queues=queue1
参数为每个 celerybeat 分配一个队列。
您可以使用选项将任务分配给特定队列:
'options': {'queue': 'queue1'},
关于python - 改变 CELERYBEAT_SCHEDULER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33893648/