mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
Use transaction aware task for regenerate_css
This commit is contained in:
@@ -106,3 +106,15 @@ class TransactionAwareTask(ProfiledTask):
|
||||
transaction.on_commit(
|
||||
lambda: super(TransactionAwareTask, self).apply_async(*args, **kwargs)
|
||||
)
|
||||
|
||||
|
||||
class TransactionAwareProfiledEventTask(ProfiledEventTask):
|
||||
|
||||
def apply_async(self, *args, **kwargs):
|
||||
"""
|
||||
Unlike the default task in celery, this task does not return an async
|
||||
result
|
||||
"""
|
||||
transaction.on_commit(
|
||||
lambda: super(TransactionAwareProfiledEventTask, self).apply_async(*args, **kwargs)
|
||||
)
|
||||
|
||||
@@ -14,7 +14,9 @@ from django.templatetags.static import static as _static
|
||||
from django_scopes import scope
|
||||
|
||||
from pretix.base.models import Event, Event_SettingsStore, Organizer
|
||||
from pretix.base.services.tasks import ProfiledEventTask, ProfiledTask
|
||||
from pretix.base.services.tasks import (
|
||||
TransactionAwareProfiledEventTask, TransactionAwareTask,
|
||||
)
|
||||
from pretix.celery_app import app
|
||||
from pretix.multidomain.urlreverse import get_domain
|
||||
from pretix.presale.signals import sass_postamble, sass_preamble
|
||||
@@ -79,7 +81,7 @@ def compile_scss(object, file="main.scss", fonts=True):
|
||||
return css, checksum
|
||||
|
||||
|
||||
@app.task(base=ProfiledEventTask)
|
||||
@app.task(base=TransactionAwareProfiledEventTask)
|
||||
def regenerate_css(event):
|
||||
# main.scss
|
||||
css, checksum = compile_scss(event)
|
||||
@@ -100,7 +102,7 @@ def regenerate_css(event):
|
||||
event.settings.set('presale_widget_css_checksum', checksum)
|
||||
|
||||
|
||||
@app.task(base=ProfiledTask)
|
||||
@app.task(base=TransactionAwareTask)
|
||||
def regenerate_organizer_css(organizer_id: int):
|
||||
organizer = Organizer.objects.get(pk=organizer_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user