summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Kreen2009-09-10 14:54:34 +0000
committerMarko Kreen2009-09-10 14:54:34 +0000
commitfe8c94b1de6d1fe5e3677472fd6fa2c28c2164b0 (patch)
treefa8793cff2030d813d38ee53a857539aa2c6e720
parent3bbb9d6791a3f6ecfec4bfbb58c0d25b19b5ef11 (diff)
nodeinfo: show failed consumers
-rw-r--r--python/pgq/cascade/nodeinfo.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/python/pgq/cascade/nodeinfo.py b/python/pgq/cascade/nodeinfo.py
index 44e988a3..97d24f36 100644
--- a/python/pgq/cascade/nodeinfo.py
+++ b/python/pgq/cascade/nodeinfo.py
@@ -43,6 +43,7 @@ class NodeInfo:
self.consumer_map = {}
self.queue_info = {}
self._info_lines = []
+ self.cascaded_consumer_map = {}
self._row = row
@@ -105,6 +106,11 @@ class NodeInfo:
if not self.uptodate:
txt += ", NOT UPTODATE"
lst.append(txt)
+
+ for cname, row in self.cascaded_consumer_map.items():
+ err = row['cur_error']
+ if err:
+ lst.append("ERR: %s: %s" % (cname, err))
return lst
def add_info_line(self, ln):
@@ -113,6 +119,7 @@ class NodeInfo:
def load_status(self, curs):
self.consumer_map = {}
self.queue_info = {}
+ self.cascaded_consumer_map = {}
if self.queue_name:
q = "select consumer_name, current_timestamp - lag as tick_time,"\
" lag, last_seen, last_tick "\
@@ -127,6 +134,12 @@ class NodeInfo:
curs.execute(q, [self.queue_name])
self.queue_info = curs.fetchone()
+ q = "select * from pgq_node.get_consumer_info(%s)"
+ curs.execute(q, [self.queue_name])
+ for row in curs.fetchall():
+ cname = row['consumer_name']
+ self.cascaded_consumer_map[cname] = row
+
class QueueInfo:
"""Info about cascaded queue.