Dies ist ein bekanntes Problem bei Sellerie. Es stammt aus einem Problem, das in der Billardabhängigkeit eingeführt wurde. Eine Problemumgehung besteht darin, die _config
manuell festzulegen Attribut für den aktuellen Prozess. Vielen Dank an Benutzer @martinth für die Problemumgehung unten.
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'}
Die worker_process_init
Hook führt den Code bei der Initialisierung des Worker-Prozesses aus. Wir prüfen einfach, ob _config
vorhanden ist, und legen Sie es fest, wenn dies nicht der Fall ist.