浏览代码

amqp/cassandra/mongodb backends now set result.children

Ask Solem 13 年之前
父节点
当前提交
6d64d7a24f
共有 4 个文件被更改,包括 9 次插入4 次删除
  1. 2 1
      celery/backends/amqp.py
  2. 3 1
      celery/backends/cassandra.py
  3. 3 1
      celery/backends/mongodb.py
  4. 1 1
      celery/bin/celeryd.py

+ 2 - 1
celery/backends/amqp.py

@@ -118,7 +118,8 @@ class AMQPBackend(BaseDictBackend):
                             interval_max=interval_max)
                             interval_max=interval_max)
                 send(conn, task_id, {"task_id": task_id, "status": status,
                 send(conn, task_id, {"task_id": task_id, "status": status,
                                 "result": self.encode_result(result, status),
                                 "result": self.encode_result(result, status),
-                                "traceback": traceback})
+                                "traceback": traceback,
+                                "children": self.current_task_children()})
         return result
         return result
 
 
     def get_task_meta(self, task_id, cache=True):
     def get_task_meta(self, task_id, cache=True):

+ 3 - 1
celery/backends/cassandra.py

@@ -131,7 +131,8 @@ class CassandraBackend(BaseDictBackend):
             date_done = self.app.now()
             date_done = self.app.now()
             meta = {"status": status,
             meta = {"status": status,
                     "date_done": date_done.strftime('%Y-%m-%dT%H:%M:%SZ'),
                     "date_done": date_done.strftime('%Y-%m-%dT%H:%M:%SZ'),
-                    "traceback": self.encode(traceback)}
+                    "traceback": self.encode(traceback),
+                    "children": self.encode(self.current_task_children())}
             if self.detailed_mode:
             if self.detailed_mode:
                 meta["result"] = result
                 meta["result"] = result
                 cf.insert(task_id, {date_done: self.encode(meta)},
                 cf.insert(task_id, {date_done: self.encode(meta)},
@@ -161,6 +162,7 @@ class CassandraBackend(BaseDictBackend):
                         "result": self.decode(obj["result"]),
                         "result": self.decode(obj["result"]),
                         "date_done": obj["date_done"],
                         "date_done": obj["date_done"],
                         "traceback": self.decode(obj["traceback"]),
                         "traceback": self.decode(obj["traceback"]),
+                        "children": self.decode(obj["children"]),
                     }
                     }
             except (KeyError, pycassa.NotFoundException):
             except (KeyError, pycassa.NotFoundException):
                 meta = {"status": states.PENDING, "result": None}
                 meta = {"status": states.PENDING, "result": None}

+ 3 - 1
celery/backends/mongodb.py

@@ -107,7 +107,8 @@ class MongoBackend(BaseDictBackend):
                 "status": status,
                 "status": status,
                 "result": Binary(self.encode(result)),
                 "result": Binary(self.encode(result)),
                 "date_done": datetime.utcnow(),
                 "date_done": datetime.utcnow(),
-                "traceback": Binary(self.encode(traceback))}
+                "traceback": Binary(self.encode(traceback)),
+                "children": Binary(self.encode(self.current_task_children()))}
         self.collection.save(meta, safe=True)
         self.collection.save(meta, safe=True)
 
 
         return result
         return result
@@ -125,6 +126,7 @@ class MongoBackend(BaseDictBackend):
             "result": self.decode(obj["result"]),
             "result": self.decode(obj["result"]),
             "date_done": obj["date_done"],
             "date_done": obj["date_done"],
             "traceback": self.decode(obj["traceback"]),
             "traceback": self.decode(obj["traceback"]),
+            "children": self.decode(obj["children"]),
         }
         }
 
 
         return meta
         return meta

+ 1 - 1
celery/bin/celeryd.py

@@ -12,7 +12,7 @@
     Number of child processes processing the queue. The default
     Number of child processes processing the queue. The default
     is the number of CPUs available on your system.
     is the number of CPUs available on your system.
 
 
-.. cmdoption:: -c, --pool
+.. cmdoption:: -P, --pool
 
 
     Pool implementation:
     Pool implementation: