2017-05-12 1 views
0

Chaque fois que je courais le travailleur de céleri Je reçois l'avertissementDjango Céleri travailleur ne reciving les tâches

./manage.py celery worker -l info --concurrency=8 

enter image description here

et si je suis ignoré cet avertissement alors mon travailleur de céleri ne recevant pas le battement de céleri tâches

Après googled J'ai également changé le nom du travailleur, mais cette fois, je ne reçois pas l'avertissement, mais le travailleur céleri ne recevant toujours pas les tâches planifiées de battement de céleri

J'ai vérifié les journaux de battements de céleri, et le battement de céleri planifie la tâche à temps.

J'ai également vérifié la fleur de céleri et son montrant deux travailleurs et le premier travailleur reçoit les tâches et ne pas l'exécuter, comment envoyer toutes les tâches du deuxième travailleur? ou comment puis-je désactiver le premier travailleur de kombu, quel est le réglage de djagno-céleri qui me manque?

Mon django settings.py

RABBITMQ_USERNAME = "guest" 
RABBITMQ_PASSWORD = "guest" 
BROKER_URL = 'amqp://%s:%[email protected]:5672//' % (RABBITMQ_USERNAME, 
RABBITMQ_PASSWORD) 
CELERY_DEFAULT_QUEUE = 'default' 
CELERY_DEFAULT_EXCHANGE = 'default' 
CELERY_DEFAULT_ROUTING_KEY = 'default' 
CELERY_IGNORE_RESULT = True 
CELERY_ACCEPT_CONTENT = ['json'] 
CELERY_TASK_SERIALIZER = 'json' 
CELERY_RESULT_SERIALIZER = 'json' 
celery_enable_utc=True 
import djcelery 
djcelery.setup_loader() 
+0

Avez-vous vérifié que vous ne courez aucune tâche de céleri de fond étrange que vous ne connaissez pas? Qu'est-ce que vous obtenez en sortie de 'ps ax | Grep céleri dans votre terminal? – olofom

Répondre

1

Vous ne permis au travailleur. Pour qu'une tâche soit exécutée, vous devez appeler la tâche à l'aide de la fonction your_task.delay(). Par exemple, ouvrez un autre terminal, entrez votre projet et exécutez la commande python manage.py shell. Lorsque vous entrez dans la coquille de votre projet Django, importez votre tâche et exécutez la commande your_task.delay() Dans le lien suivant, il est un exemple de code de céleri avec un courtier RabbitMQ, je vous conseille de l'étudier: https://github.com/celery/celery/tree/master/examples/django