X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/8132fc186eb0c5fd02c86828c3a4735754296d02..5913c54d19b8f6775633176032161d49f9b2f1aa:/src/catalogue/tasks.py diff --git a/src/catalogue/tasks.py b/src/catalogue/tasks.py new file mode 100644 index 00000000..9507c412 --- /dev/null +++ b/src/catalogue/tasks.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +from celery.task import task +from django.utils import translation + + +@task(ignore_result=True) +def _refresh_by_pk(cls, pk, language=None): + prev_language = translation.get_language() + if language: + translation.activate(language) + try: + cls._default_manager.get(pk=pk).refresh() + except cls.DoesNotExist: + pass + finally: + translation.activate(prev_language) + + +def refresh_instance(instance): + _refresh_by_pk.delay(type(instance), instance.pk, translation.get_language()) + + +@task(ignore_result=True) +def book_content_updated(book): + book.refresh_dc_cache()