Je reçois beaucoup d'exceptions "IOError: Socket closed" de amqplib.client_0_8.method_framing.read_method lorsque j'exécute mes machines Céleri avec l'option --pool = eventlet. Je vois également beaucoup d'exceptions de timeout depuis eventlet.hubs.hub.switch.Beaucoup d'erreurs de socket avec les tâches de l'eventlet céleri
J'utilise un script async_manage.py similaire à celui de https://gist.github.com/821848, les travaux en cours d'exécution comme:
./async_manage.py celeryd_detach -E --pool=eventlet --concurrency=120 --logfile=<path>
Est-ce un problème connu, ou est-il un problème avec ma configuration ou la configuration? Je cours djcelery 2.2.4, Django 1.3, et l'événement 0.9.15.
êtes-vous que vos tâches ne font pas les appels de blocage? – asksol
Je suis singe patcher tous, mais je ne suis pas sûr à 100% que rien ne bloque. Quelle est la meilleure façon de savoir, et que puis-je faire s'ils le sont? –
singe ne corrigeant que les patchs que l'eventlet sait comment patcher, donc vous pouvez toujours utiliser des bibliothèques qui ne sont pas couvertes par cela. Voir ici par exemple: http://unethicalblogger.com/2010/08/28/unclog-the-tubes-blocking-detection-in-eventlet.html – asksol