Found a few issues when attempting to run a threaded worker.
-
Call to Worker.run() should be replaced by Worker.start(). Likely a change in the Celery Worker API?
-
setup_celery_worker seems to override any existing app settings, rather than just updating the ones relevant to threaded operation.
-
Celery memory backend has a bug in a base method passed two arguments but the implementation takes one. Workaround:
from kombu.transport.base import Transport
Transport.register_with_event_loop = lambda _args, *_kwargs: 1
-
Memory broker doesn't seem to work. Haven't tracked this down, currently using an AMQP broker instead.
Found a few issues when attempting to run a threaded worker.
Call to
Worker.run()should be replaced byWorker.start(). Likely a change in the Celery Worker API?setup_celery_workerseems to override any existingappsettings, rather than just updating the ones relevant to threaded operation.Celery memory backend has a bug in a base method passed two arguments but the implementation takes one. Workaround:
from kombu.transport.base import Transport
Transport.register_with_event_loop = lambda _args, *_kwargs: 1
Memory broker doesn't seem to work. Haven't tracked this down, currently using an AMQP broker instead.