1. 程式人生 > >python2中MySQLdb加入超時及其重試功能

python2中MySQLdb加入超時及其重試功能

python mysqldb 重試

  1. 定義一個狀態,超時時間和重試的次數限制(此為樣例代碼,你可以把他們包裝到函數或類中)

  2. 循環判斷_conn_status狀態且判斷最大重試次數

  3. 在循環中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加入超時及其重試功能