J'utilise Céleri avec une application Flask, et voici ma config:Les files d'attente multiples de céleri ne fonctionnent pas correctement. Toutes les tâches sont envoyées à la file par défaut
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'
J'ai fini avec l'exécution des instances de céleri comme ceci:
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
Donc, le problème est que toutes les tâches sont envoyées à la file d'attente 'par défaut'. Toute aide est grandement appréciée. Merci!
version céleri? – ItayB