我有两种任务: 类型1-几个高优先级的小任务. 类型2-大量优先级较低的繁重任务.
最初,我使用默认路由进行简单配置,没有使用路由键.这是不够的-有时所有员工都忙于类型2任务,因此任务1被延迟. 我已经添加了路由密钥:
CELERY_DEFAULT_QUEUE = "default"
CELERY_QUEUES = {
"default": {
"binding_key": "task.#",
},
"highs": {
"binding_key": "starter.#",
},
}
CELERY_DEFAULT_EXCHANGE = "tasks"
CELERY_DEFAULT_EXCHANGE_TYPE = "topic"
CELERY_DEFAULT_ROUTING_KEY = "task.default"
CELERY_ROUTES = {
"search.starter.start": {
"queue": "highs",
"routing_key": "starter.starter",
},
}
因此,现在我有2个队列-具有高优先级和低优先级任务.
Problem is-如何使用不同的并发设置启动2个celeryd?
以前Celery 是在守护进程模式下使用的(根据to this),所以只需要从/etc/init.d/celeryd start
开始,但现在我必须运行2个不同的celeryd,具有不同的队列和并发性.我该怎么做呢?