Jest to znany problem z selerem. Wynika to z kwestii wprowadzonej w zależności bilardowej. Rozwiązaniem jest ręczne ustawienie _config
atrybut dla bieżącego procesu. Podziękowania dla użytkownika @martinth za obejście poniżej.
from celery.signals import worker_process_init
from multiprocessing import current_process
@worker_process_init.connect
def fix_multiprocessing(**kwargs):
try:
current_process()._config
except AttributeError:
current_process()._config = {'semprefix': '/mp'}
worker_process_init
hook wykona kod po zainicjowaniu procesu roboczego. Po prostu sprawdzamy, czy _config
istnieje i ustaw go, jeśli nie.