There have been some request to have some reconnect possibilities in Connector/Python. I’m wondering now whether there should be some automatic reconnect on certain errors within the database driver.
My personal feeling is to have no automatic reconnect within Connector/Python and the programmer has to come up with retrying transactions herself.
cnx.disconnect() # For testing.. tries = 2 while tries > 0: tries -= 1 try: cursor.execute("INSERT INTO t1 (c1) VALUES ('ham')") cnx.commit() except mysql.connector.InterfaceError: if tries == 0: print "Failed inserting data after retrying" break else: print "Reconnecting.." cnx.reconnect() else: break
The above mimics how you would handle transactions and trying them reconnecting. I have ideas how to get this into Connector/Python, but it would not really fit PEP-249.
Would the above use case of reconnecting be enough?