diff options
author | Marko Kreen | 2011-09-07 11:01:01 +0000 |
---|---|---|
committer | Marko Kreen | 2011-09-07 11:01:01 +0000 |
commit | de5a7a1d891677b3764894a5e47d940551324b5c (patch) | |
tree | 1b872a49823830fe0dae71f9d37107ed5497e6ac | |
parent | 343e635add7714e73f0f3b719b808a3bc3470090 (diff) |
CascadedConsumer: allow --reset without consumer info
Can happen for worker on root node.
-rw-r--r-- | python/pgq/cascade/consumer.py | 8 |
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() |