gpt4 book ai didi

Django Celery 多个工作线程和多个队列

转载 作者:行者123 更新时间:2023-12-02 08:04:50 25 4
gpt4 key购买 nike

我有 5 个名为 1-5 的工作人员和两个队列 A 和 B,我需要为工作人员 1 和 2 分配队列 A,为 B 分配专用的 3,4,5,还需要为工作人员 1 和 2 分配当 A 为空或 1,2 空闲时,队列 B 中的任务。

我需要使用 Django 应用程序中的 RabbitMQ brocker 在我的 Celery 任务中进行配置。

你能指定如何根据上述逻辑分配队列特定任务并运行worker吗?

谢谢。

最佳答案

所以,对于 celery ,这就是您所需要的:

celery multi start 5 -A conf -l info -Q:1-2 queueA -Q:3-5 queueB --pidfile="%n.pid"

要在 django 中分配队列,您有不止一种方法:(我的设置在conf中)通过设置中的任务应用程序/文件夹:

app.conf.task_routes = {
'appA.tasks.*': {'queue': 'queueA'},
'appB.tasks.*': {'queue': 'queueB'},
}

直接使用:

myTask.apply_async((2, 2), queue='queueA', countdown=10)

也许还有其他方法,但对我来说,我使用这个方法:

app.conf.task_default_queue = 'queueA'

我使用 app.conf.task_routes 进行特定用途,例如 cron

关于Django Celery 多个工作线程和多个队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44138781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com