python - 改变 CELERYBEAT_SCHEDULER

标签 python django redis celery djcelery

我有两个使用相同数据库的 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/

相关文章:

django - Apollo-client 在向服务器发送突变时返回 "400 (Bad Request) Error"

javascript - 如何使用 deferrable 执行一系列 Redis 操作?

redis - 如何查看遗漏了哪些键?

Python 3 和 Tkinter。全局变量过多

python - Pandas 中的分组日期索引

python - 如何使用 docker-compose 运行 Python Django 和 Celery?

python - 如何对电子邮件回复发表评论?

python - 将 95% 置信区间作为误差线添加到 pandas 条形图中

python - 此代码在我的计算机上有效,但在 leetcode 中无效

java - 无法通过我的 IP 地址连接到 Redis