【问题标题】:Running django-celery on windows. EOFError在 Windows 上运行 django-celery。 EOF错误
【发布时间】:2013-02-25 09:44:03
【问题描述】:

我使用的是 Windows 7 64 位。 我安装了最新版本的台球、django-celery 和 kombu。 我包括:

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 但没有帮助

谢谢

【问题讨论】:

标签: django windows python-2.7 pickle django-celery


【解决方案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 {})

它应该可以正常工作

【讨论】:

  • 谢谢,但是当我应用此更改并运行命令时,它会进入一个永无止境的循环并出现相同的错误
猜你喜欢
  • 2012-05-19
  • 2016-02-09
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
  • 2017-11-25
  • 2012-09-30
  • 2017-11-27
相关资源
最近更新 更多