Browse Source

amqp/cassandra/mongodb backends now set result.children

Ask Solem 13 years ago
parent
commit
6d64d7a24f
4 changed files with 9 additions and 4 deletions
  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: