[Python] django celery: object has no attribute 'delay_on_commit'

Discussão em 'Python' iniciado por Stack, Abril 22, 2025.

  1. Stack

    Stack Membro Participativo

    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.

    Continue reading...

Compartilhe esta Página