Closed cemremengu closed 6 years ago
I am having the exact error as well with almost identical setup as @cemremengu
I did face same issue and it seems that Celery Version mismatch on workers of same cluster is causing the problem. When I tried to add new worker to the cluster I simply installed latest celery from pip without realizing that my existing workers are on older celery version (3.1.20). After installing correct version on new worker I was able to start task without any problem.
Same error here.
(nouvelleoffre) C:\Git\nouvelleoffre-back>celery worker -A nouvelleoffre -l DEBUG -E
[2017-01-02 14:48:04,422: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2017-01-02 14:48:04,424: DEBUG/MainProcess] | Worker: Building graph...
[2017-01-02 14:48:04,424: DEBUG/MainProcess] | Worker: New boot order: {Timer, Hub, Pool, Autoscaler, Beat, StateDB, Consumer}
[2017-01-02 14:48:04,446: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2017-01-02 14:48:04,447: DEBUG/MainProcess] | Consumer: Building graph...
[2017-01-02 14:48:04,468: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Events, Mingle, Tasks, Control, Agent, Gossip, Heart, event loop}
-------------- celery@DELL-MARC-D-P v4.0.2 (latentcall)
---- **** -----
--- * *** * -- Windows-8.1-6.3.9600-SP0 2017-01-02 14:48:04
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: nouvelleoffre:0x3a6391160
- ** ---------- .> transport: redis://localhost:6379/0
- ** ---------- .> results:
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: ON
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key=celery
[tasks]
. celery.accumulate
. celery.backend_cleanup
. celery.chain
. celery.chord
. celery.chord_unlock
. celery.chunks
. celery.group
. celery.map
. celery.starmap
. common.log_delete
. common.log_m2m
. common.log_save
. common.notify_changes
. crm.creer_fichier_crm
. crm.creer_lot
. crm.export
. crm.generer
. crm.import
. dsn.annulation
. dsn.consolidation
. dsn.historiques
. dsn.integration
. dsn.volumetrie
. fdp.export
. fdp.exporter_lot_fdp
. fdp.generer_fdp
. fdp.import
. fdp.import_lot
. fdp.import_tous_types
. gpj.notifier_changements
. gpj.relancer_dossier
. merge
. query.execute
. tarificateur.calcul
[2017-01-02 14:48:04,491: DEBUG/MainProcess] | Worker: Starting Pool
[2017-01-02 14:48:04,511: CRITICAL/MainProcess] Unrecoverable error: AttributeError("Can't pickle local object 'Pool.__i
nit__.<locals>.Process'",)
Traceback (most recent call last):
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\celery\worker\worker.py", line 203, in start
self.blueprint.start(self)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\celery\bootsteps.py", line 119, in start
step.start(parent)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\celery\bootsteps.py", line 370, in start
return self.obj.start()
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\celery\concurrency\base.py", line 131, in start
self.on_start()
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\celery\concurrency\prefork.py", line 112, in on_start
**self.options)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\pool.py", line 1008, in __init__
self._create_worker_process(i)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\pool.py", line 1117, in _create_worker_process
w.start()
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\process.py", line 122, in start
self._popen = self._Popen(self)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\context.py", line 383, in _Popen
return Popen(process_obj)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\popen_spawn_win32.py", line 79, in __init__
reduction.dump(process_obj, to_child)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\reduction.py", line 99, in dump
ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'Pool.__init__.<locals>.Process'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\spawn.py", line 165, in spawn_main
exitcode = _main(fd)
File "c:\virtualenvs\nouvelleoffre\lib\site-packages\billiard\spawn.py", line 207, in _main
self = pickle.load(from_parent)
EOFError: Ran out of input
is the bug still live in master?
hope this is fixed in master.
My configuration is as follows (running as administrator)
Steps to reproduce (tasks.py)
Expected behavior
Worker running successfully
Actual behavior
It says a permission error but I am running on admin privileges. Not really sure whats going on.