• 1000
NotImplementedError: Starting chords requires a result backend to be configured
Celery настроен следующим образом:
Celery(__name__, broker="redis://redis:6379/10", backend="redis://redis:6379/11", tasks_acks_late=True)
Задачи - это функции, украшенные @app.task(base=MyBaseTask, bind=True)
, и задача верхнего уровня построена таким образом, что там будут аккорды. Задача верхнего уровня выполняется как my_task.delay()
, и это строка, которая вызывает исключение.
Я понимаю, почему мне нужен результат, поддерживаемый для выполнения моей задачи, но я не понимаю, почему он думает, что это не настроен.
Есть идеи, что мне здесь может не хватать?
РЕДАКТИРОВАТЬ: может быть важно отметить, что у меня одна и та же кодовая база развернута на двух модулях k8s, один в качестве API сервер и один как работник сельдерея. Я вызываю .delay()
на сервере API и ожидаю, что работник возьмет задачу и запустит ее. Это вызов .delay()
модуля API, который вызывает исключение. Каждый из двух модулей создает собственное приложение Celery, поэтому мне интересно, вызывает ли это мою проблему?