安排芹菜的任务



在一些Django项目中有以下任务:

@app.task
def task1():
# processing

@app.task
def task2():
# processing

@app.task
def long_task():
# very long processing

settings.py:

default_exchange = Exchange('default', type='direct')
CELERY_QUEUES = (
Queue(
name='celery',  # should I define default queue?
exchange=default_exchange
),
Queue(
name='long',
exchange=default_exchange
)
)
CELERY_ROUTES = {
'long_task': {
'queue': 'long'
},
}

有了这个,所有的任务都是这样运行的:

long.apply_async()

正在发送到默认队列。

如何将它们发送到不同的队列?

在decorator:中定义队列名称

@app.task(queue='long')
def long_task():
# very long processing

并在一个单独的吊舱中运行工人。

相关内容

  • 没有找到相关文章

最新更新