我发布了这个问题(和答案),所以如果将来其他人有这个问题,你可以在谷歌上搜索它。
如果您尝试在Django中运行celeryd,如下所示:
python manage.py celeryd启动后,您会立即收到以下错误:
celery@eric-desktop-dev 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()一个相当隐秘的错误消息,没有真正的线索去哪里去解决这个问题。请看下面的答案,这样你就不会像我今天那样在这个错误上浪费很多时间了:)
发布于 2010-06-02 03:00:45
您在settings.py中缺少一个芹菜设置。在我的例子中,它是由一个打字错误引起的(我在BROKER_PASSWORD中漏掉了一个'S‘)。仔细检查你包含了所有必需的设置,并且每个设置都拼写正确,这样你就不会像我今天做的那样出洋相了:)
https://stackoverflow.com/questions/2952446
复制相似问题