python2中MySQLdb加入超時及其重試功能
阿新 • • 發佈:2017-11-16
python mysqldb 重試
定義一個狀態,超時時間和重試的次數限制(此為樣例代碼,你可以把他們包裝到函數或類中)
循環判斷_conn_status狀態且判斷最大重試次數
在循環中try except 連接如果DB連接成功則_conn_status為False,異常except則_conn_retries_count次數加1,且continue操作
def reConndb(): _conn_status = True _max_retries_count = 10 #設置最大重試次數 _conn_retries_count = 0 #初始重試次數 _conn_timeout = 3 # 連接超時時間為3秒 while _conn_staus and _conn_num <= _conn_retries_count: try: conn = db.connect(host=xxx, user=xxx, passwd=xxx, connect_timeout=_conn_timeout) _status = False # 如果conn成功則_status為設置為False則退出循環,返回db連接對象 return conn except: _conn_num += 1 print _conn_num print ‘connect db is error!!‘ time.sleep(3) #此為測試看效果 continue
以上為帶重試功能和連接超時功能的DB連接
python2中MySQLdb加入超時及其重試功能