|
@@ -112,20 +112,40 @@ class BaseBackend(object):
|
|
|
"""Mark a task as started"""
|
|
|
return self.store_result(task_id, meta, status=states.STARTED)
|
|
|
|
|
|
- def mark_as_done(self, task_id, result, request=None, state=states.SUCCESS):
|
|
|
+ def mark_as_done(self, task_id, result,
|
|
|
+ request=None, store_result=True, state=states.SUCCESS):
|
|
|
"""Mark task as successfully executed."""
|
|
|
- self.store_result(task_id, result, status=state, request=request)
|
|
|
+ if store_result:
|
|
|
+ self.store_result(task_id, result, status=state, request=request)
|
|
|
if request and request.chord:
|
|
|
self.on_chord_part_return(request, state)
|
|
|
|
|
|
def mark_as_failure(self, task_id, exc,
|
|
|
- traceback=None, request=None, state=states.FAILURE):
|
|
|
+ traceback=None, request=None, store_result=True,
|
|
|
+ state=states.FAILURE):
|
|
|
"""Mark task as executed with failure. Stores the exception."""
|
|
|
- self.store_result(task_id, exc, status=state,
|
|
|
- traceback=traceback, request=request)
|
|
|
+ if store_result:
|
|
|
+ self.store_result(task_id, exc, status=state,
|
|
|
+ traceback=traceback, request=request)
|
|
|
if request and request.chord:
|
|
|
self.on_chord_part_return(request, state, exc)
|
|
|
|
|
|
+ def mark_as_revoked(self, task_id, reason='',
|
|
|
+ request=None, store_result=True, state=states.REVOKED):
|
|
|
+ exc = TaskRevokedError(reason)
|
|
|
+ if store_result:
|
|
|
+ self.store_result(task_id, exc,
|
|
|
+ status=state, traceback=None, request=request)
|
|
|
+ if request and request.chord:
|
|
|
+ self.on_chord_part_return(request, state, exc)
|
|
|
+
|
|
|
+ def mark_as_retry(self, task_id, exc, traceback=None,
|
|
|
+ request=None, store_result=True, state=states.RETRY):
|
|
|
+ """Mark task as being retries. Stores the current
|
|
|
+ exception (if any)."""
|
|
|
+ return self.store_result(task_id, exc, status=state,
|
|
|
+ traceback=traceback, request=request)
|
|
|
+
|
|
|
def chord_error_from_stack(self, callback, exc=None):
|
|
|
from celery import group
|
|
|
app = self.app
|
|
@@ -151,17 +171,6 @@ class BaseBackend(object):
|
|
|
finally:
|
|
|
del(tb)
|
|
|
|
|
|
- def mark_as_retry(self, task_id, exc, traceback=None, request=None):
|
|
|
- """Mark task as being retries. Stores the current
|
|
|
- exception (if any)."""
|
|
|
- return self.store_result(task_id, exc, status=states.RETRY,
|
|
|
- traceback=traceback, request=request)
|
|
|
-
|
|
|
- def mark_as_revoked(self, task_id, reason='', request=None):
|
|
|
- return self.store_result(task_id, TaskRevokedError(reason),
|
|
|
- status=states.REVOKED, traceback=None,
|
|
|
- request=request)
|
|
|
-
|
|
|
def prepare_exception(self, exc, serializer=None):
|
|
|
"""Prepare exception for serialization."""
|
|
|
serializer = self.serializer if serializer is None else serializer
|