def get_mysql(mysql1): mysql2 = eval(mysql1) database = PooledMySQLDatabase(database=mysql2['db'], max_connections=300, **{ 'host': mysql2['host'], 'port': int(mysql2['port']), 'user': mysql2['user'], 'passwd': mysql2['pass'], 'charset': 'utf8' }) database.connect() database.close()
class Db(object): fn = peewee.fn JOIN_LEFT_OUTER = peewee.JOIN_LEFT_OUTER def __init__(self, kw): self.config = kw self.load_database() self.Model = self.get_model_class() def load_database(self): self.database = PooledMySQLDatabase(self.config.pop('db'), threadlocals=True, **self.config) def get_model_class(self): class BaseModel(_model): def __str__(self): r = {} for k in self._data.keys(): try: r[k] = str(getattr(self, k)) except: r[k] = simplejson.dumps(getattr(self, k)) return str(r) class Meta: database = self.database return BaseModel def connect(self): self.database.connect() def close(self): try: self.database.close() except: pass @property def handle(self): return self.database
def check(): try: # 使用连接池 database = PooledMySQLDatabase(database=config.rp_db['db'], max_connections=300, **{ 'host': config.rp_db['host'], 'port': int(config.rp_db['port']), 'user': config.rp_db['user'], 'passwd': config.rp_db['pass'], 'charset': 'utf8' }) database.connect() database.close() except Exception as Err: print('***** reading_pro_db database error') return False print("***** reading_pro_db database ok") return True