2010-11-11 4 views
3

J'essaie d'implémenter une file d'attente simple qui exécute une tâche à la fois. Le déchargement des tâches du thread principal à l'aide de Celery et la définition de concurrency = 1 dans la configuration de Celery fonctionnent correctement, mais je souhaiterais peut-être utiliser davantage de travailleurs simultanés pour d'autres tâches.File d'attente simple avec Celery et RabbitMQ

Existe-t-il un moyen de dire à Celery ou à RabbitMQ de ne pas utiliser plusieurs travailleurs simultanés pour une tâche (sauf en forçant la concurrence simultanée = 1)? Je ne trouve rien dans la documentation mais peut-être que ces outils ne sont pas conçus pour une file d'attente linéaire?

Merci!

Répondre

0

Je pense que vous avez besoin d'une file d'attente séparée pour chaque type de tâche. Créer des travailleurs distincts qui consomment de chaque file d'attente, avec la simultanéité définie sur 1.

+0

Oui, je le fais actuellement (concurrence simultanée = 1). Bon point sur la création de plusieurs travailleurs, je suppose que c'est la meilleure solution à ce problème. Merci! – Dick

Questions connexes