Django celery: object has no attribute 'delay_on_commit'
django 4.2 with celery 5.5.1
launching a celery task from a django view sometimes causes "'generate_report' object has no attribute 'delay_on_commit'"
# tasks.py
from celery import shared_task
@shared_task
def generate_report(data):
# Code to generate report
...
# django view
def testview(request):
from tasks import generate_report
generate_report.delay_on_commit("mytestdata")
return render(request, "simple_page.html")
This happens on some deployments, but not on all. And when it happens, a server (webapp) reboot solves the issue. Moving the "generate_report" import to the top of the file also did not help.
Note: Code is deployed on pythonanywhere.com with several celery workers running in "always on" tasks.