|
@@ -80,7 +80,8 @@ class TaskManager(models.Manager):
|
|
|
"""Delete all expired task results."""
|
|
|
self.get_all_expired().delete()
|
|
|
|
|
|
- def store_result(self, task_id, result, status, traceback=None, exception_retry=True):
|
|
|
+ def store_result(self, task_id, result, status, traceback=None,
|
|
|
+ exception_retry=True):
|
|
|
"""Store the result and status of a task.
|
|
|
|
|
|
:param task_id: task id
|
|
@@ -95,8 +96,8 @@ class TaskManager(models.Manager):
|
|
|
:keyword traceback: The traceback at the point of exception (if the
|
|
|
task failed).
|
|
|
|
|
|
- :keyword exception_retry: If we should retry storing by rollbacking
|
|
|
- transaction on exception
|
|
|
+ :keyword exception_retry: If True, we try a single retry with
|
|
|
+ transaction rollback on exception
|
|
|
"""
|
|
|
try:
|
|
|
task, created = self.get_or_create(task_id=task_id, defaults={
|
|
@@ -108,7 +109,7 @@ class TaskManager(models.Manager):
|
|
|
task.result = result
|
|
|
task.traceback = traceback
|
|
|
task.save()
|
|
|
- except:
|
|
|
+ except Exceptions, exc:
|
|
|
# depending on the database backend we can get various exceptions.
|
|
|
# for excample, psycopg2 raises an exception if some operation
|
|
|
# breaks transaction, and saving task result won't be possible
|
|
@@ -120,7 +121,6 @@ class TaskManager(models.Manager):
|
|
|
raise
|
|
|
|
|
|
|
|
|
-
|
|
|
class PeriodicTaskManager(models.Manager):
|
|
|
"""Manager for :class:`celery.models.PeriodicTask` models."""
|
|
|
|