فهرست منبع

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: