summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Kreen2011-09-07 11:01:01 +0000
committerMarko Kreen2011-09-07 11:01:01 +0000
commitde5a7a1d891677b3764894a5e47d940551324b5c (patch)
tree1b872a49823830fe0dae71f9d37107ed5497e6ac
parent343e635add7714e73f0f3b719b808a3bc3470090 (diff)
CascadedConsumer: allow --reset without consumer info
Can happen for worker on root node.
-rw-r--r--python/pgq/cascade/consumer.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/python/pgq/cascade/consumer.py b/python/pgq/cascade/consumer.py
index 798ee7e7..39bd906e 100644
--- a/python/pgq/cascade/consumer.py
+++ b/python/pgq/cascade/consumer.py
@@ -146,10 +146,16 @@ class CascadedConsumer(Consumer):
# fetch last tick from source
q = "select last_tick from pgq.get_consumer_info(%s, %s)"
src_curs.execute(q, [self.queue_name, self.consumer_name])
- last_tick = src_curs.fetchone()['last_tick']
+ row = src_curs.fetchone()
src_db.commit()
+ # on root node we dont have consumer info
+ if not row:
+ self.log.info("No info about consumer, cannot reset")
+ return
+
# set on destination
+ last_tick = row['last_tick']
q = "select * from pgq_node.set_consumer_completed(%s, %s, %s)"
dst_curs.execute(q, [self.queue_name, self.consumer_name, last_tick])
dst_db.commit()