try to fix memory leak
This commit is contained in:
parent
b66f54decd
commit
69a897b55e
3 changed files with 18 additions and 6 deletions
|
@ -1,7 +1,7 @@
|
|||
import datetime
|
||||
|
||||
from core.elements import MessageSession
|
||||
from database.orm import session
|
||||
from database.orm import DBSession
|
||||
from database.tables import EnabledModules, SenderInfo, TargetAdmin, CommandTriggerTime
|
||||
|
||||
|
||||
|
@ -13,6 +13,9 @@ def convert_str_to_list(s: str) -> list:
|
|||
return s.split('|')
|
||||
|
||||
|
||||
session = DBSession().session
|
||||
|
||||
|
||||
class BotDBUtil:
|
||||
class Module:
|
||||
def __init__(self, msg: [MessageSession, str]):
|
||||
|
@ -20,6 +23,7 @@ class BotDBUtil:
|
|||
self.targetId = str(msg.target.targetId)
|
||||
else:
|
||||
self.targetId = msg
|
||||
|
||||
self.query = session.query(EnabledModules).filter_by(targetId=self.targetId).first()
|
||||
self.enable_modules_list = convert_str_to_list(self.query.enabledModules) if self.query is not None else []
|
||||
self.need_insert = True if self.query is None else False
|
||||
|
|
|
@ -6,8 +6,13 @@ from database.tables import *
|
|||
|
||||
DB_LINK = Config('db_path')
|
||||
|
||||
engine = create_engine(DB_LINK)
|
||||
class DBSession:
|
||||
def __init__(self):
|
||||
self.engine = engine = create_engine(DB_LINK)
|
||||
Base.metadata.create_all(bind=engine, checkfirst=True)
|
||||
self.Session = sessionmaker()
|
||||
self.Session.configure(bind=self.engine)
|
||||
|
||||
Base.metadata.create_all(bind=engine, checkfirst=True)
|
||||
|
||||
session = sessionmaker(engine)()
|
||||
@property
|
||||
def session(self):
|
||||
return self.Session()
|
||||
|
|
|
@ -2,10 +2,13 @@ from sqlalchemy import Column, String, Text, TIMESTAMP, text
|
|||
from sqlalchemy.dialects.mysql import LONGTEXT
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
from database.orm import engine, session
|
||||
from database.orm import DBSession
|
||||
|
||||
Base = declarative_base()
|
||||
table_prefix = 'module_wiki_'
|
||||
db = DBSession()
|
||||
session = db.session
|
||||
engine = db.engine
|
||||
|
||||
|
||||
class WikiTargetSetInfo(Base):
|
||||
|
|
Reference in a new issue