[Answered ]-Django Celery throws error after changing databases

2👍

This issue is a bug in billiard, the multiprocessing module fork used by Celery. Here is a link to the issue.

You may confirm this by running python -c "from billiard.connection import Pipe; p = Pipe(duplex=False)" which should produce the same error.

Cogniva has just pushed a fixed of this to their fork of billiard. At the time of writing this post this fix has been submitted though not merged into celery/billiard. This issue will be resolved in version 3.4.0.0 of billiard.

To install the fix :

$ pip uninstall billiard
$ git clone git@github.com:cogniva/billiard.git
$ cd billiard 
$ git checkout bb6169ff1bdd8bc7c5520f7c47085063bc51d4c7
$ python setup.py install

To confirm this fix works run python -c "from billiard.connection import Pipe; p = Pipe(duplex=False)". This time you should not see an error message.

👤Dawson

Leave a comment