CELERY WindowsError: [Error 6] Invalid handle

I am new to celery and I follow the tutorial presented on their website and got this error.

from celery import Celery app = Celery('tasks', broker='pyamqp://guest@localhost//') @app.task def add(x, y): return x + y 

and cmd shows an error like this

 -------------- celery@DESKTOP-O90R45G v4.0.2 (latentcall) ---- **** ----- --- * *** * -- Windows-10-10.0.14393 2016-12-16 20:05:48 -- * - **** --- - ** ---------- [config] - ** ---------- .> app: tasks:0x4591950 - ** ---------- .> transport: amqp://guest:**@localhost:5672// - ** ---------- .> results: disabled:// - *** --- * --- .> concurrency: 4 (prefork) -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker) --- ***** ----- -------------- [queues] .> celery exchange=celery(direct) key=celery [tasks] . tasks.add [2016-12-16 20:05:49,029: CRITICAL/MainProcess] Unrecoverable error: TypeError('argument 1 must be an integer, not _subprocess_handle',) Traceback (most recent call last): File "c:\python27\lib\site-packages\celery\worker\worker.py", line 203, in start self.blueprint.start(self) File "c:\python27\lib\site-packages\celery\bootsteps.py", line 119, in start step.start(parent) File "c:\python27\lib\site-packages\celery\bootsteps.py", line 370, in start return self.obj.start() File "c:\python27\lib\site-packages\celery\concurrency\base.py", line 131, in start self.on_start() File "c:\python27\lib\site-packages\celery\concurrency\prefork.py", line 112, in on_start **self.options) File "c:\python27\lib\site-packages\billiard\pool.py", line 1008, in __init__ self._create_worker_process(i) File "c:\python27\lib\site-packages\billiard\pool.py", line 1117, in _create_worker_process w.start() File "c:\python27\lib\site-packages\billiard\process.py", line 122, in start self._popen = self._Popen(self) File "c:\python27\lib\site-packages\billiard\context.py", line 383, in _Popen return Popen(process_obj) File "c:\python27\lib\site-packages\billiard\popen_spawn_win32.py", line 64, in __init__ _winapi.CloseHandle(ht) TypeError: argument 1 must be an integer, not _subprocess_handle Traceback (most recent call last): File "<string>", line 1, in <module> File "c:\python27\lib\site-packages\billiard\spawn.py", line 159, in spawn_main new_handle = steal_handle(parent_pid, pipe_handle) File "c:\python27\lib\site-packages\billiard\reduction.py", line 126, in steal_handle _winapi.DUPLICATE_SAME_ACCESS | _winapi.DUPLICATE_CLOSE_SOURCE) >WindowsError: [Error 6] The handle is invalid 
+8
windows celery
source share
2 answers

Celery is no longer supported on Windows since 4.0, see this: http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#removed-features

Unfortunately, this error seems to be one of the side effects (support for process descriptors has been removed)

It is best to lower the celery, first remove it: pip install celery==3.1.18

+1
source share

It looks like your rabbitmq server is not working. Did you run the installation and run the rabbimq server?

You can check the rabbitmq docs and install it . Start the rabbitmq server, and then start your celery worker using your application.

 celery worker -l info -A tasks 
0
source share

All Articles