celery / django-celery-results

Celery result back end with django
Other
696 stars 206 forks source link

E_CHORD_NO_BACKEND NotImplementedError: Starting chords requires a result backend to be configured #447

Open zenoran opened 1 month ago

zenoran commented 1 month ago

Sorry if I'm posting this in the wrong place, but I'm trying to troubleshoot this intermittent error I can't seem to figure out. Using Django 4.2.13 and django-celery-restults as the backend we starting seeing this error... There aren't many posts concerning this error but it is a very frequent problem in our application. The one post I saw on celery issues mentioned changing the syntax using | but that doesn't seem to have any impact. Has anyone seen this and/or has any idea how I might be able to troubleshoot? It doesn't make a lot of sense how sometimes it thinks there is no database backend even when error is being raised where the class is celery_result_backend.DatabaseBackend.

     File "../tasks/schedule.py", line 94, in schedule_all_device_tasks
       chord(group_task)(schedule_tasks.s())
     File "../python/lib/python3.11/site-packages/celery/canvas.py", line 2038, in __call__
       return self.apply_async((), {'body': body} if body else {}, **options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "../python/lib/python3.11/site-packages/celery/canvas.py", line 2140, in apply_async
       return self.run(tasks, body, args, task_id=task_id, kwargs=kwargs, **merged_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "../python/lib/python3.11/site-packages/celery/canvas.py", line 2232, in run
       app.backend.apply_chord(
     File "../python/lib/python3.11/site-packages/celery/backends/base.py", line 712, in apply_chord
       self.ensure_chords_allowed()
     File "../python/lib/python3.11/site-packages/celery/backends/base.py", line 1101, in ensure_chords_allowed
       raise NotImplementedError(E_CHORD_NO_BACKEND.strip())
   NotImplementedError: Starting chords requires a result backend to be configured.