From 55768cf4c90d2139e563765639f780ba3feb66b5 Mon Sep 17 00:00:00 2001 From: Clint Armstrong Date: Wed, 9 Sep 2015 08:37:00 -0400 Subject: [PATCH] catch error during connectino and retry --- poller-service.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/poller-service.py b/poller-service.py index 61dcc84cf..289c29867 100755 --- a/poller-service.py +++ b/poller-service.py @@ -53,10 +53,18 @@ class DB: conn = None def connect(self): - if db_port == 0: - self.conn = MySQLdb.connect(host=db_server, user=db_username, passwd=db_password, db=db_dbname) - else: - self.conn = MySQLdb.connect(host=db_server, port=db_port, user=db_username, passwd=db_password, db=db_dbname) + while True: + try: + if db_port == 0: + self.conn = MySQLdb.connect(host=db_server, user=db_username, passwd=db_password, db=db_dbname) + else: + self.conn = MySQLdb.connect(host=db_server, port=db_port, user=db_username, passwd=db_password, db=db_dbname) + break + except (AttributeError, MySQLdb.OperationalError): + log.warning('WARNING: MySQL Error, reconnecting.') + time.sleep(.5) + pass + self.conn.autocommit(True) self.conn.ping(True)