Este es un problema conocido con el apio. Se deriva de un problema introducido en la dependencia del billar. Una solución es configurar manualmente el _config
atributo para el proceso actual. Gracias al usuario @martinth por la solución a continuación.
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'}
El worker_process_init
hook ejecutará el código tras la inicialización del proceso de trabajo. Simplemente verificamos si _config
existe, y configúrelo si no lo hace.