Fix in pymysql

This commit is contained in:
Antonio de la Rosa 2018-01-21 03:39:02 +01:00
parent 6681286392
commit 3c6288a097

View file

@ -20,6 +20,7 @@ class SqlClass:
# Sql connection
self.conn=None
self.connected=False
self.pool_recycle=3600
def connect(self):
@ -34,10 +35,13 @@ class SqlClass:
cursorclass=pymysql.cursors.DictCursor)
if SqlClass.mypool==None:
SqlClass.mypool=pool.QueuePool(getconn, max_overflow=self.max_overflow, pool_size=self.pool_size)
SqlClass.mypool=pool.QueuePool(getconn, max_overflow=self.max_overflow, pool_size=self.pool_size, recycle=self.pool_recycle)
self.conn=SqlClass.mypool.connect()
while not self.conn.open:
self.conn=SqlClass.mypool.connect()
self.conn.ping(True)
self.connected=True
@ -48,6 +52,8 @@ class SqlClass:
self.error_connection="Error in connection: %s %s" % (e, v)
self.conn.close()
raise NameError(self.error_connection)
@ -70,6 +76,7 @@ class SqlClass:
return cursor
except:
e = sys.exc_info()[0]
v = sys.exc_info()[1]
@ -87,17 +94,19 @@ class SqlClass:
#def fetch(self, cursor):
#return cursor.fetchone()
"""
def __del__(self):
self.close()
"""
if self.conn:
self.conn.close()
def close(self, name_connection="default"):
if self.conn:
self.conn.close()
#self.conn=False
self.conn=None
pass