Browse Source

Added Task.update_state(task_id, state, meta)

as a shortcut to task.backend.store_result(task_id, meta, state).
The backend interface is "private" and the terminology outdated,
so better to move this to Task so it can be used.
Ask Solem 14 năm trước cách đây
mục cha
commit
47203abd4a
1 tập tin đã thay đổi với 12 bổ sung0 xóa
  1. 12 0
      celery/task/base.py

+ 12 - 0
celery/task/base.py

@@ -461,6 +461,18 @@ class Task(object):
         """
         return BaseAsyncResult(task_id, backend=self.backend)
 
+    def update_state(self, task_id, state, meta=None):
+        """Update task state.
+
+        :param task_id: Id of the task to update.
+        :param state: New state (:class:`str`).
+        :param meta: State metadata (:class:`dict`).
+
+        """
+        if meta is None:
+            meta = {}
+        self.backend.store_result(task_id, meta, state)
+
     def on_retry(self, exc, task_id, args, kwargs, einfo=None):
         """Retry handler.