FIx in pymysql

This commit is contained in:
Antonio de la Rosa 2018-02-10 01:10:37 +01:00
parent 5f7c0202b4
commit 88f3186792
3 changed files with 20 additions and 14 deletions

View file

@ -6,14 +6,14 @@ pymysql.install_as_MySQLdb
import sqlalchemy.pool as pool import sqlalchemy.pool as pool
import traceback import traceback
class SqlClass: mypool=None
mypool=None class SqlClass:
def __init__(self, connection): def __init__(self, connection):
self.max_overflow=-1 self.max_overflow=-1
self.pool_size=0 self.pool_size=15
self.error_connection="" self.error_connection=""
# Data of connection # Data of connection
self.connection=connection self.connection=connection
@ -24,6 +24,8 @@ class SqlClass:
def connect(self): def connect(self):
global mypool
if self.conn==None: if self.conn==None:
try: try:
def getconn(): def getconn():
@ -34,16 +36,19 @@ class SqlClass:
charset='utf8mb4', charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor) cursorclass=pymysql.cursors.DictCursor)
if SqlClass.mypool==None: if mypool==None:
SqlClass.mypool=pool.QueuePool(getconn, max_overflow=self.max_overflow, pool_size=self.pool_size, recycle=self.pool_recycle)
self.conn=SqlClass.mypool.connect() mypool=pool.QueuePool(getconn, max_overflow=self.max_overflow, pool_size=self.pool_size, recycle=self.pool_recycle, use_threadlocal=False)
while not self.conn.open: self.conn=mypool.connect()
self.conn=SqlClass.mypool.connect()
self.conn.ping(True) self.conn.ping(True)
"""
while not self.conn.open:
self.conn=SqlClass.mypool.connect()
"""
self.connected=True self.connected=True
except: except:
@ -64,9 +69,9 @@ class SqlClass:
self.connect() self.connect()
#if fetch_type=="ASSOC": #if fetch_type=="ASSOC":
#fetch_type=pymysql.cursors.DictCursor #fetch_type=MySQLdb.cursors.DictCursor
#with self.conn.cursor(pymysql.cursors.DictCursor) as cursor: #with self.conn.cursor(MySQLdb.cursors.DictCursor) as cursor:
cursor=self.conn.cursor(pymysql.cursors.DictCursor) cursor=self.conn.cursor(pymysql.cursors.DictCursor)
try: try:

View file

@ -5,7 +5,7 @@ import re
import uuid import uuid
from importlib import import_module, reload from importlib import import_module, reload
from collections import OrderedDict from collections import OrderedDict
from paramecio.cromosoma.databases.mysqldb import SqlClass from paramecio.cromosoma.databases.pymysql import SqlClass
from paramecio.cromosoma.coreforms import BaseForm, HiddenForm from paramecio.cromosoma.coreforms import BaseForm, HiddenForm
import copy import copy
import traceback import traceback

View file

@ -21,7 +21,8 @@ setup(name='paramecio',
url='https://github.com/paramecio/parameciofm/', url='https://github.com/paramecio/parameciofm/',
packages=['paramecio', 'paramecio.i18n', 'paramecio.settings'], packages=['paramecio', 'paramecio.i18n', 'paramecio.settings'],
include_package_data=True, include_package_data=True,
install_requires=['bottle', 'mako', 'mysqlclient', 'sqlalchemy', 'oslo.concurrency', 'itsdangerous', 'colorama','cherrypy', 'arrow'], install_requires=['bottle', 'mako', 'pymysql', 'sqlalchemy',
'oslo.concurrency', 'itsdangerous', 'colorama','cherrypy', 'arrow'],
entry_points={'console_scripts': [ entry_points={'console_scripts': [
'paramecio = paramecio.console:start', 'paramecio = paramecio.console:start',
]}, ]},