feat:系统错误时发出事件

This commit is contained in:
jxxghp
2024-05-29 16:28:17 +08:00
parent 4c5366f8b4
commit 74980911fe
4 changed files with 34 additions and 0 deletions

View File

@ -121,6 +121,16 @@ class ChainBase(metaclass=ABCMeta):
self.messagehelper.put(title=f"{module_name}发生了错误",
message=str(err),
role="system")
self.eventmanager.send_event(
EventType.SystemError,
{
"type": "module",
"module_name": module_name,
"module_method": method,
"error": str(err),
"traceback": traceback.format_exc()
}
)
return result
def recognize_media(self, meta: MetaBase = None,

View File

@ -224,6 +224,16 @@ class Command(metaclass=Singleton):
self.messagehelper.put(title=f"{event.event_type} 事件处理出错",
message=f"{class_name}.{method_name}{str(e)}",
role="system")
self.eventmanager.send_event(
EventType.SystemError,
{
"type": "event",
"event_type": event.event_type,
"event_handle": f"{class_name}.{method_name}",
"error": str(e),
"traceback": traceback.format_exc()
}
)
def __run_command(self, command: Dict[str, any],
data_str: str = "",

View File

@ -18,10 +18,12 @@ from app.chain.tmdb import TmdbChain
from app.chain.torrents import TorrentsChain
from app.chain.transfer import TransferChain
from app.core.config import settings
from app.core.event import EventManager
from app.core.plugin import PluginManager
from app.helper.sites import SitesHelper
from app.log import logger
from app.schemas import Notification, NotificationType
from app.schemas.types import EventType
from app.utils.singleton import Singleton
from app.utils.timer import TimerUtils
@ -370,6 +372,16 @@ class Scheduler(metaclass=Singleton):
SchedulerChain().messagehelper.put(title=f"{job_name} 执行失败",
message=str(e),
role="system")
EventManager().send_event(
EventType.SystemError,
{
"type": "scheduler",
"scheduler_id": job_id,
"scheduler_name": job_name,
"error": str(e),
"traceback": traceback.format_exc()
}
)
# 运行结束
with self._lock:
try:

View File

@ -46,6 +46,8 @@ class EventType(Enum):
SubscribeAdded = "subscribe.added"
# 订阅已完成
SubscribeComplete = "subscribe.complete"
# 系统错误
SystemError = "system.error"
# 系统配置Key字典