2017-05-12 43 views
0

當我試圖從MySQL連接中使用.cursor()mysql.connector庫中爲Python3檢索遊標時,如果連接未連接(例如,Internet連接斷開),它會完全卡住並且在拋出異常之前掛起大約16分鐘。有什麼想法可以做些什麼來減少這種延遲?當連接關閉時,Python MySQL .cursor()卡住

def retrieveCursor(mysqlconnection): 

    printf("Program started") 
    try: 
    printf("Going to retrieve the cursor") 
    cursor=mysqlconnection.cursor() 
    except: 
    printf("Exception raised while retreiving the cursor") 
    return -1 
    else: 
    printf("MySQL cursor retrieved") 
    return cursor 

如果上網時,輸出將是:

Program started 
Going to retrieve the cursor 
MySQL cursor retrieved 

如果互聯網是下降(但最多時最初建立連接):

Program started 
Going to retrieve the cursor 
.. nothing for 16 minutes .. 
Exception raised while retreiving the cursor 

的任何想法爲什麼16分鐘以及如何減少它? 謝謝!

回答

1

可以傳遞給連接__init__的參數之一是connection_timeout,它改變了默認值。請參閱docs