diff options
author | Marko Kreen | 2011-12-13 07:33:00 +0000 |
---|---|---|
committer | Marko Kreen | 2011-12-13 07:33:00 +0000 |
commit | 343290f159f2ffb85c73bb50880339335b4e5bae (patch) | |
tree | 471ddb4a98fcdf121d7abf2e4d815ac7d9c5803c | |
parent | 1f0497ca114ebf5af2ac1780d6dd676f385c1265 (diff) |
londiste compare: use number of failed tables as exit code
-rw-r--r-- | python/londiste/compare.py | 2 | ||||
-rw-r--r-- | python/londiste/syncer.py | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/python/londiste/compare.py b/python/londiste/compare.py index 7274d180..f053e60d 100644 --- a/python/londiste/compare.py +++ b/python/londiste/compare.py @@ -47,6 +47,8 @@ class Comparator(Syncer): if src_str != dst_str: self.log.warning("%s: Results do not match!" % dst_tbl) + return 1 + return 0 if __name__ == '__main__': script = Comparator(sys.argv[1:]) diff --git a/python/londiste/syncer.py b/python/londiste/syncer.py index 5d4716d2..b5dd58d0 100644 --- a/python/londiste/syncer.py +++ b/python/londiste/syncer.py @@ -13,6 +13,8 @@ class ATable: class Syncer(skytools.DBScript): """Walks tables in primary key order and checks if data matches.""" + bad_tables = 0 + def __init__(self, args): """Syncer init.""" skytools.DBScript.__init__(self, 'londiste3', args) @@ -133,6 +135,9 @@ class Syncer(skytools.DBScript): src_db.commit() dst_db.commit() + # signal caller about bad tables + sys.exit(self.bad_tables) + def force_tick(self, setup_curs): q = "select pgq.force_tick(%s)" setup_curs.execute(q, [self.queue_name]) @@ -221,7 +226,9 @@ class Syncer(skytools.DBScript): lock_db.commit() # do work - self.process_sync(src_tbl, dst_tbl, src_db, dst_db) + bad = self.process_sync(src_tbl, dst_tbl, src_db, dst_db) + if bad: + self.bad_tables += 1 # done src_db.commit() |