def db_reconnect(db_user, db_id):
db_pass = settings.DB_AUTH[db_user]
pc = prpcryptec.prpcrypt(KEY_DB_AUTH)
db_instance = get_setttings("db_info", db_id)
db_host, db_port = db_instance.replace(' ', '').split(':')
db_conn = None
while not db_conn:
try:
logger.warn("Reconnect Database %s: host='%s', user='%s, port=%s",
db_id, db_host, db_user, db_port)
db_conn = MySQLdb.Connect(host=db_host, user=db_user, passwd=pc.decrypt(db_pass), port=int(db_port),
connect_timeout=5, use_unicode=False)
except MySQLdb.Error, e:
if e.args[0] in (2013, 2003):
logger.critical('Error %d: %s', e.args[0], e.args[1])
logger.warn("Reconnect Database %s: host='%s', user='%s, port=%s",
db_id, db_host, db_user, db_port)
db_conn = MySQLdb.Connect(host=db_host, user=db_user, passwd=pc.decrypt(db_pass), port=int(db_port),
connect_timeout=5, use_unicode=False)
except Exception as inst:
print "Error %s %s" % type(inst), inst.args.__str__()
time.sleep(10)
return db_conn
# judge this thread meet kill_opt or not
评论列表
文章目录