This commit is contained in:
jxxghp
2023-10-17 21:07:38 +08:00
parent 3f5f689965
commit 84f5ce8a0b
3 changed files with 8 additions and 4 deletions

View File

@ -52,6 +52,9 @@ def db_lock(func):
class DbOper: class DbOper:
"""
数据库操作基类
"""
_db: Session = None _db: Session = None
def __init__(self, db: Session = None): def __init__(self, db: Session = None):
@ -59,4 +62,3 @@ class DbOper:
self._db = db self._db = db
else: else:
self._db = ScopedSession() self._db = ScopedSession()

View File

@ -2,7 +2,7 @@ import time
from typing import Tuple, List from typing import Tuple, List
from app.core.context import MediaInfo from app.core.context import MediaInfo
from app.db import DbOper from app.db import DbOper, db_lock
from app.db.models.subscribe import Subscribe from app.db.models.subscribe import Subscribe
@ -11,6 +11,7 @@ class SubscribeOper(DbOper):
订阅管理 订阅管理
""" """
@db_lock
def add(self, mediainfo: MediaInfo, **kwargs) -> Tuple[int, str]: def add(self, mediainfo: MediaInfo, **kwargs) -> Tuple[int, str]:
""" """
新增订阅 新增订阅
@ -57,12 +58,14 @@ class SubscribeOper(DbOper):
return Subscribe.get_by_state(self._db, state) return Subscribe.get_by_state(self._db, state)
return Subscribe.list(self._db) return Subscribe.list(self._db)
@db_lock
def delete(self, sid: int): def delete(self, sid: int):
""" """
删除订阅 删除订阅
""" """
Subscribe.delete(self._db, rid=sid) Subscribe.delete(self._db, rid=sid)
@db_lock
def update(self, sid: int, payload: dict) -> Subscribe: def update(self, sid: int, payload: dict) -> Subscribe:
""" """
更新订阅 更新订阅

View File

@ -1,6 +1,5 @@
import logging import logging
import threading import threading
import traceback
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import List from typing import List
@ -224,7 +223,7 @@ class Scheduler(metaclass=Singleton):
try: try:
job["func"](*args, **kwargs) job["func"](*args, **kwargs)
except Exception as e: except Exception as e:
logger.error(f"定时任务 {job_id} 执行失败:{e} - {traceback.print_exc()}") logger.error(f"定时任务 {job_id} 执行失败:{e}")
self._jobs[job_id]["running"] = False self._jobs[job_id]["running"] = False
def list(self) -> List[schemas.ScheduleInfo]: def list(self) -> List[schemas.ScheduleInfo]: