Dit is een bekend probleem met selderij. Het komt voort uit een probleem dat is geïntroduceerd in de biljartafhankelijkheid. Een tijdelijke oplossing is om de _config
. handmatig in te stellen attribuut voor het huidige proces. Met dank aan gebruiker @martinth voor de onderstaande oplossing.
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'}
De worker_process_init
hook voert de code uit bij initialisatie van het werkproces. We controleren gewoon of _config
bestaat, en stel het in als het niet bestaat.