from celery.task import task
from django.utils import translation
-from django.conf import settings
-@task
+@task(ignore_result=True)
def _refresh_by_pk(cls, pk, language=None):
prev_language = translation.get_language()
language and translation.activate(language)
finally:
translation.activate(prev_language)
-if settings.USE_CELERY:
- def refresh_instance(instance):
- _refresh_by_pk.delay(type(instance), instance.pk, translation.get_language())
-else:
- def refresh_instance(instance):
- instance.refresh()
+def refresh_instance(instance):
+ _refresh_by_pk.delay(type(instance), instance.pk, translation.get_language())
@task
except AssertionError, e:
return e
else:
- return None
+ return None
finally:
translation.activate(prev_language)
-if settings.USE_CELERY:
- def publishable_error(book):
- task = _publishable_error.delay(book, translation.get_language())
- return task.wait()
-else:
- def publishable_error(book):
- return _publishable_error(book)
+def publishable_error(book):
+ return _publishable_error.delay(book,
+ translation.get_language()).wait()
+
+
+@task(ignore_result=True)
+def book_content_updated(book):
+ book.refresh_dc_cache()