首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django芹菜多个工作进程和多个队列

Django芹菜多个工作进程和多个队列
EN

Stack Overflow用户
提问于 2017-05-23 23:14:25
回答 1查看 1.7K关注 0票数 2

我有5个名为1-5的工作进程和两个队列A和B,我需要将队列A分配给工作进程1和2,3,4,5专用于B,当A为空或1,2处于空闲状态时,我需要为队列B中的任务分配工作进程1和2。我需要在我的芹菜任务中使用django应用程序的rabbitmq brocker进行配置。您能根据上面的逻辑指定如何分配特定于队列的任务和运行工作进程吗

EN

回答 1

Stack Overflow用户

发布于 2017-05-23 23:33:13

所以,对于芹菜,这是你需要的:

代码语言:javascript
运行
复制
celery multi start 5 -A conf -l info -Q:1-2 queueA -Q:3-5 queueB --pidfile="%n.pid"

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

代码语言:javascript
运行
复制
app.conf.task_routes = {
    'appA.tasks.*': {'queue': 'queueA'},
    'appB.tasks.*': {'queue': 'queueB'},
}

直接使用:

代码语言:javascript
运行
复制
myTask.apply_async((2, 2), queue='queueA', countdown=10)

也许还有其他一些方法,但对我来说,我使用的是以下方法:

代码语言:javascript
运行
复制
app.conf.task_default_queue = 'queueA'

我将app.conf.task_routes用于特定的用途,比如cron

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44138781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档