Skip to content
Snippets Groups Projects
Verified Commit c82be665 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Replace default app Task with a task that runs on_commit

parent 9e8b9077
No related branches found
No related tags found
1 merge request!491Resolve "Make Celery non-optional"
import os
from django.db import transaction
from celery import Celery
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "aleksis.core.settings")
......@@ -7,3 +9,14 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "aleksis.core.settings")
app = Celery("aleksis") # noqa
app.config_from_object("django.conf:settings", namespace="CELERY")
app.autodiscover_tasks()
class OnCommitTask(app.Task):
"""Task that is delayed at least until the current transaction commits."""
def delay(self, *args, **kwargs):
def _real_delay():
return super().delay(*args, **kwargs)
transaction.on_commit(_real_delay)
app.Task = OnCommitTask
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment