2010-06-01 7 views
3

Je publie cette question (et réponds), donc si quelqu'un d'autre a ce problème à l'avenir, vous pourrez le google.Erreur lors de l'exécution de celeryd

Si vous essayez d'exécuter celeryd dans Django comme ceci:

python manage.py celeryd 

Vous pouvez recevoir l'erreur suivante immédiatement après qu'il a commencé:

[email protected] has started. 
Traceback (most recent call last): 
    File "manage.py", line 11, in <module> 
    execute_manager(settings) 
    <... snip ...> 
    File "/usr/local/lib/python2.6/dist-packages/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/connection.py", line 134, in __init__ 
    self._x_start_ok(d, login_method, login_response, locale) 
    File "/usr/local/lib/python2.6/dist-packages/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/connection.py", line 704, in _x_start_ok 
    args.write_longstr(response) 
    File "/usr/local/lib/python2.6/dist-packages/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/serialization.py", line 352, in write_longstr 
    self.write_long(len(s)) 
TypeError: object of type 'NoneType' has no len() 

Un message d'erreur plutôt cryptique, sans véritable indice quant à l'endroit où aller pour résoudre le problème. Voir ci-dessous pour la réponse afin que vous ne perdiez pas beaucoup de temps sur cette erreur comme je l'ai fait aujourd'hui :)

Répondre

1

Il vous manque un réglage de céleri dans settings.py. Dans mon cas, il a été causé par une faute de frappe (j'ai manqué un 'S' dans BROKER_PASSWORD). Double vérifier que vous avez inclus tous les paramètres requis et que chacun est orthographié tout correctement, et vous éviterez de faire comme cul de vous-même comme je l'ai fait aujourd'hui :)

Questions connexes