recherche

Maison  >  Questions et réponses  >  le corps du texte

python - tâche asynchrone céleri + lapin MQ, les messages de file d'attente continuent d'augmenter

Lorsque céleri coopère avec lapinmq pour effectuer des tâches asynchrones, on constate que le nombre de messages dans lapinmq augmente constamment, mais ces messages ont en fait été traités par la tâche.

En regardant le backend fourni avec rabbimtq, nous avons constaté que dans les messages en file d'attente, le nombre de messages prêts et totaux a atteint plus de 5 000, et la valeur de non reconnu est 0. Cependant, lorsqu'il fonctionne réellement, la valeur de non reconnu changera, mais elle finira par devenir 0. Il n'y a rien de spécial dans la configuration de céleri. Il définit uniquement le contenu suivant
CELERY_IMPORTS = ('testtasks',)
BROKER_URL = '. amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://'

Ensuite, regardez les ressources système. La mémoire de processus d'erl est relativement grande, probablement plus de 300 Mo sont temporairement utilisés

Y a-t-il un problème avec la configuration de celeri de mon côté ?

高洛峰高洛峰2769 Il y a quelques jours1160

répondre à tous(1)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-22 11:53:49

    Cela a été résolu. Mettez simplement à niveau Rabbitmq vers la version 3.3 ou supérieure.
    J'ai déjà utilisé Rabbitmq version 3.1, puis le céleri est la version 3.1


    La vraie façon de résoudre le problème est d'ajouter un attribut ignore_result=True à la tâche, comme suit
    @app.task(ignore_result=True)

    répondre
    0
  • Annulerrépondre