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