【发布时间】:2020-04-20 13:32:39
【问题描述】:
我的用例是为不同的任务添加使用多个队列,以便将所有 upload_photos 任务发送到一个队列,并将 upload_phone_number 发送到另一个队列,因为上传任务是一项繁重的任务,我不希望上传电话号码受到影响通过上传照片, 即使我使用不同的队列,upload_phone_number 任务也在等待上传照片的执行。这是写多个队列的正确方法吗
CELERY_QUEUES = (
Queue('fast', Exchange('fast'), routing_key='fast'),
Queue('default', Exchange('default'), routing_key='default')
)
CELERY_ROUTES = {
'upload_phone_number': {
'exchange': 'fast'`
'exchange_type': 'direct',
'routing_key': 'fast'
},
'upload_photos': {
'exchange': 'default',
'exchange_type': 'direct',
'routing_key': 'default'
},
}
这是我的芹菜任务
@app.task(name="upload_phone_number")
def upload_photos():
@app.task(name="upload_phone_number")
def upload_phone():
【问题讨论】: