diff options
-rw-r--r-- | python/londiste/syncer.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/python/londiste/syncer.py b/python/londiste/syncer.py index 6e1f2ce6..0c9c2321 100644 --- a/python/londiste/syncer.py +++ b/python/londiste/syncer.py @@ -112,13 +112,21 @@ class Syncer(skytools.DBScript): self.log.info('Syncing %s' % tbl) # consumer must get futher than this tick - src_curs.execute("select pgq.ticker(%s)", [self.pgq_queue_name]) + # also, bump event_id_seq to force ticker to tick + q = "select nextval(queue_tick_seq) as tick_pos,"\ + " setval(queue_event_seq, nextval(queue_event_seq) + 2000)"\ + " from pgq.queue where queue_name = %s" + src_curs.execute(q, [self.pgq_queue_name]) tick_id = src_curs.fetchone()[0] src_db.commit() - # avoid depending on ticker by inserting second tick also - time.sleep(0.1) - src_curs.execute("select pgq.ticker(%s)", [self.pgq_queue_name]) + # try to force second tick also + time.sleep(0.5) + q = "select setval(queue_event_seq, nextval(queue_event_seq) + 2000)"\ + " from pgq.queue where queue_name = %s" + src_curs.execute(q, [self.pgq_queue_name]) src_db.commit() + + # take server time src_curs.execute("select to_char(now(), 'YYYY-MM-DD HH24:MI:SS.MS')") tpos = src_curs.fetchone()[0] src_db.commit() |