1

Windows7 64ビットを使用しています。ビリヤード、ジャンゴセロリ、昆布の最新バージョンをインストールしました。私が含めた:

import djcelery
djcelery.setup_loader()

私のプロジェクトのsetting.pyに

プロジェクトのルートから次を実行すると:

python manage.py celeryd -l info

次のメッセージが表示されます (これはメッセージの最後の部分です)。

File "c:\python27\lib\pickle.py", line 562, in save_tuple
    save(element)
  File "c:\python27\lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "c:\python27\lib\pickle.py", line 548, in save_tuple
    save(element)
  File "c:\python27\lib\pickle.py", line 306, in save
    rv = reduce(self.proto)
  File "c:\python27\lib\site-packages\celery\app\base.py", line 412, in __reduce__
    (self.__class__, self.Pickler) + self.__reduce_args__(),
  File "c:\python27\lib\site-packages\celery\app\base.py", line 422, in __reduce_args__
    else self.conf._pickleable_changes())
  File "c:\python27\lib\site-packages\celery\app\utils.py", line 77, in _pickleable_changes
    R.update(d)
TypeError: 'LazySettings' object is not iterable

C:\sources\tourtle>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\python27\lib\site-packages\billiard\forking.py", line 530, in main
    self = load(from_parent)
  File "c:\python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "c:\python27\lib\pickle.py", line 858, in load
    dispatch[key](self)
  File "c:\python27\lib\pickle.py", line 880, in load_eof
    raise EOFError
EOFError

MinGW をインストールし、distutils.cfg を c:\MinGW\bin に追加しましたが、解決しませんでした

ありがとう

4

1 に答える 1

1

github でこのディスカッションを確認してください。

https://github.com/celery/django-celery/issues/228

回避策は、asksol が提案する方法で celery/app/base.py (行 418-419) を変更することです。

から:

conf = (self.conf.changes if _forking._forking_is_enabled
        else self.conf._pickleable_changes())'

に:

conf = (self.conf.changes if _forking._forking_is_enabled
        else {})

その後、正常に動作するはずです

于 2013-03-11T07:50:54.927 に答える