Reputation: 1087
I am using windows 7 64 bit. I installed the latest versions of billiard, django-celery,and kombu. I included:
import djcelery
djcelery.setup_loader()
to my project setting.py
When I run the following from the root of my project:
python manage.py celeryd -l info
I get the following message (this is the last part of the message):
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
I installed MinGW and added distutils.cfg to c:\MinGW\bin but it did not help
Thanks
Upvotes: 1
Views: 640
Reputation: 6797
Check this discussion on github:
https://github.com/celery/django-celery/issues/228
A workaround is that you change celery/app/base.py (lines 418-419) in the way asksol proposes there:
from:
conf = (self.conf.changes if _forking._forking_is_enabled
else self.conf._pickleable_changes())'
to:
conf = (self.conf.changes if _forking._forking_is_enabled
else {})
It should then work fine
Upvotes: 1