2013-03-10 80 views
1

我正在使用Windows 7 64位。 我安裝了檯球,django芹菜和kombu的最新版本。 我包括:在窗戶上運行django芹菜。 EOFError

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,但它並沒有幫助

感謝

+0

僅供參考,這聽起來有點像這樣的問題:http://stackoverflow.com/questions/35304529/cant-start-celery-worker -on-windows-10-pick-pickerror/36092836#36092836 問題可以通過使用'config_from_object'來解決,而不是使用字符串。 – jeverling 2016-03-18 20:51:19

回答

1

檢查GitHub上討論:

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

一種解決方法是,更改芹菜/應用/ base.py的方式asksol(線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 {}) 

然後,它應該工作正常

+0

謝謝,但是當我應用此更改並運行該命令時,它將進入永不結束的循環,並出現相同的錯誤 – guyyug 2013-03-11 17:29:23