fix 偿试减少会话使用

This commit is contained in:
jxxghp 2023-09-01 15:00:27 +08:00
parent 4dba739d54
commit ac1dcbed3c
5 changed files with 13 additions and 11 deletions

View File

@ -13,7 +13,7 @@ from app.chain.transfer import TransferChain
from app.core.event import Event as ManagerEvent from app.core.event import Event as ManagerEvent
from app.core.event import eventmanager, EventManager from app.core.event import eventmanager, EventManager
from app.core.plugin import PluginManager from app.core.plugin import PluginManager
from app.db import SessionLocal from app.db import GlobalDB
from app.log import logger from app.log import logger
from app.schemas.types import EventType, MessageChannel from app.schemas.types import EventType, MessageChannel
from app.utils.object import ObjectUtils from app.utils.object import ObjectUtils
@ -41,7 +41,7 @@ class Command(metaclass=Singleton):
def __init__(self): def __init__(self):
# 数据库连接 # 数据库连接
self._db = SessionLocal() self._db = GlobalDB
# 事件管理器 # 事件管理器
self.eventmanager = EventManager() self.eventmanager = EventManager()
# 插件管理器 # 插件管理器

View File

@ -14,6 +14,9 @@ Engine = create_engine(f"sqlite:///{settings.CONFIG_PATH}/user.db",
# 数据库会话 # 数据库会话
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=Engine) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=Engine)
# 全局使用的数据库会话
GlobalDB = SessionLocal()
def get_db(): def get_db():
""" """
@ -37,7 +40,7 @@ class DbOper:
if db: if db:
self._db = db self._db = db
else: else:
self._db = SessionLocal() self._db = GlobalDB
def __del__(self): def __del__(self):
if self._db: if self._db:

View File

@ -6,7 +6,7 @@ from alembic.config import Config
from app.core.config import settings from app.core.config import settings
from app.core.security import get_password_hash from app.core.security import get_password_hash
from app.db import Engine, SessionLocal from app.db import Engine, GlobalDB
from app.db.models import Base from app.db.models import Base
from app.db.models.user import User from app.db.models.user import User
from app.log import logger from app.log import logger
@ -22,15 +22,14 @@ def init_db():
# 全量建表 # 全量建表
Base.metadata.create_all(bind=Engine) Base.metadata.create_all(bind=Engine)
# 初始化超级管理员 # 初始化超级管理员
_db = SessionLocal() user = User.get_by_name(db=GlobalDB, name=settings.SUPERUSER)
user = User.get_by_name(db=_db, name=settings.SUPERUSER)
if not user: if not user:
user = User( user = User(
name=settings.SUPERUSER, name=settings.SUPERUSER,
hashed_password=get_password_hash(settings.SUPERUSER_PASSWORD), hashed_password=get_password_hash(settings.SUPERUSER_PASSWORD),
is_superuser=True, is_superuser=True,
) )
user.create(_db) user.create(GlobalDB)
def update_db(): def update_db():

View File

@ -5,7 +5,7 @@ from typing import Any, List, Dict, Tuple
from app.chain import ChainBase from app.chain import ChainBase
from app.core.config import settings from app.core.config import settings
from app.core.event import EventManager from app.core.event import EventManager
from app.db import SessionLocal from app.db import GlobalDB
from app.db.models import Base from app.db.models import Base
from app.db.plugindata_oper import PluginDataOper from app.db.plugindata_oper import PluginDataOper
from app.db.systemconfig_oper import SystemConfigOper from app.db.systemconfig_oper import SystemConfigOper
@ -37,7 +37,7 @@ class _PluginBase(metaclass=ABCMeta):
def __init__(self): def __init__(self):
# 数据库连接 # 数据库连接
self.db = SessionLocal() self.db = GlobalDB
# 插件数据 # 插件数据
self.plugindata = PluginDataOper(self.db) self.plugindata = PluginDataOper(self.db)
# 处理链 # 处理链

View File

@ -12,7 +12,7 @@ from app.chain.rss import RssChain
from app.chain.subscribe import SubscribeChain from app.chain.subscribe import SubscribeChain
from app.chain.transfer import TransferChain from app.chain.transfer import TransferChain
from app.core.config import settings from app.core.config import settings
from app.db import SessionLocal from app.db import GlobalDB
from app.log import logger from app.log import logger
from app.utils.singleton import Singleton from app.utils.singleton import Singleton
from app.utils.timer import TimerUtils from app.utils.timer import TimerUtils
@ -40,7 +40,7 @@ class Scheduler(metaclass=Singleton):
def __init__(self): def __init__(self):
# 数据库连接 # 数据库连接
self._db = SessionLocal() self._db = GlobalDB
# 调试模式不启动定时服务 # 调试模式不启动定时服务
if settings.DEV: if settings.DEV:
return return