2017-05-12 3 views
0

Wenn ich versuche, einen Cursor von .cursor() aus .cursor() aus der Bibliothek mysql.connector für Python3 abzurufen, während die Verbindung nicht aktiv ist (zB Internetabsturz), bleibt sie komplett hängen und hängt für ungefähr 16 Minuten, bevor sogar eine Ausnahme geworfen wird. Irgendwelche Ideen, was getan werden kann, um diese Verzögerung zu reduzieren?Python MySQL .cursor() bleibt hängen, wenn die Verbindung unterbrochen ist

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 

Wenn Internet ist, wäre der Ausgang sein:

Program started 
Going to retrieve the cursor 
MySQL cursor retrieved 

Wenn Internet unten (aber war, wenn die Verbindung wurde ursprünglich gegründet):

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

Irgendwelche Ideen von warum 16 Minuten und wie man es reduziert? Danke !!

Antwort

1

Eines der Argumente, die an die Verbindung __init__ übergeben werden können, ist connection_timeout, die den Standardwert ändert. Siehe die docs.

Verwandte Themen