【发布时间】:2017-09-22 22:09:09
【问题描述】:
我将 Celery 与 Flask 应用程序一起使用,这是我的配置:
app.config['CELERY_TASK_QUEUES'] = (
Queue('fast', Exchange('fast'), routing_key='fast'),
Queue('default', Exchange('default'), routing_key='default'),
Queue('processing', Exchange('processing'), routing_key='processing'),
)
app.config['CELERY_TASK_ROUTES'] = {
'app.tasks.extract_text': {'queue': 'processing', 'routing_key': 'processing'},
...
'app.tasks.vt_notifications': {'queue': 'default', 'routing_key': 'default'},
...
'app.tasks.update_files_from_search': {'queue': 'fast', 'routing_key': 'fast'},
...
}
app.config['CELERY_DEFAULT_QUEUE'] = 'default'
app.config['CELERY_DEFAULT_EXCHANGE'] = 'default'
app.config['CELERY_DEFAULT_ROUTING_KEY'] = 'default'
我最终运行了这样的 celery 实例:
celery -A app.tasks.celery worker -Q 'processing' --concurrency 1 -l debug -n processing
celery -A app.tasks.celery worker -Q 'fast' --concurrency 1 -l debug -n fast
celery -A app.tasks.celery worker -Q 'default' --concurrency 1 -l debug -n default
所以,问题在于所有任务都被发送到“默认”队列。非常感谢任何帮助。谢谢!
【问题讨论】:
-
芹菜版?
标签: python python-2.7 flask celery