瀏覽代碼

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 年之前
父節點
當前提交
47203abd4a
共有 1 個文件被更改,包括 12 次插入0 次删除
  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.