Skip to content

celery4 worker fails to start on Windows #3383

@AnkurDedania

Description

@AnkurDedania

trying to execute https://github.com/celery/celery/blob/master/examples/app/myapp.py

λ python myapp.py worker

 -------------- celery@C001683697 v4.0.0rc3 (0today8)
---- **** -----
--- * ***  * -- Windows-7-6.1.7601-SP1 2016-08-10 16:12:28
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         myapp:0x26c8c88
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 12 (prefork)
-- ******* ----
--- ***** ----- [queues]
 -------------- .> celery           exchange=celery(direct) key=celery


[2016-08-10 16:12:28,153: CRITICAL/MainProcess] Unrecoverable error: AttributeError("Can't pickle local object 'Pool.__init__.<locals>.Process'",)

Traceback (most recent call last):
  File "C:\Miniconda3\lib\site-packages\celery\worker\__init__.py", line 201, in start
    self.blueprint.start(self)
  File "C:\Miniconda3\lib\site-packages\celery\bootsteps.py", line 125, in start
    step.start(parent)
  File "C:\Miniconda3\lib\site-packages\celery\bootsteps.py", line 376, in start
    return self.obj.start()
  File "C:\Miniconda3\lib\site-packages\celery\concurrency\base.py", line 134, in start
    self.on_start()
  File "C:\Miniconda3\lib\site-packages\celery\concurrency\prefork.py", line 117, in on_start
    **self.options)
  File "C:\Miniconda3\lib\site-packages\billiard\pool.py", line 1015, in __init__
    self._create_worker_process(i)
  File "C:\Miniconda3\lib\site-packages\billiard\pool.py", line 1124, in _create_worker_process
    w.start()
  File "C:\Miniconda3\lib\site-packages\billiard\process.py", line 122, in start
    self._popen = self._Popen(self)
  File "C:\Miniconda3\lib\site-packages\billiard\context.py", line 383, in _Popen
    return Popen(process_obj)
  File "C:\Miniconda3\lib\site-packages\billiard\popen_spawn_win32.py", line 72, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Miniconda3\lib\site-packages\billiard\reduction.py", line 97, 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:\Miniconda3\lib\site-packages\billiard\spawn.py", line 159, in spawn_main
    new_handle = steal_handle(parent_pid, pipe_handle)
  File "C:\Miniconda3\lib\site-packages\billiard\reduction.py", line 119, in steal_handle
    _winapi.PROCESS_DUP_HANDLE, False, source_pid)
OSError: [WinError 87] The parameter is incorrect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions