def meter_update(redis_pool, conn_pool, delay): while True: time.sleep(delay) try: client = redis.Redis(connection_pool=redis_pool) result = client.blpop("meter_update", 60) if not result: continue res_id = result[1].decode('utf-8') conn = conn_pool.connection() Meter.save_to_db(res_id, client, conn) except redis.exceptions.ConnectionError as err: print("redis connection error.", err) except pymssql.Error as err: print("mssql error.", err) except: print("other except.")