Merge pull request #2792 from InfinityPacer/feature/event

This commit is contained in:
jxxghp
2024-09-30 20:28:56 +08:00
committed by GitHub
3 changed files with 9 additions and 4 deletions

View File

@@ -114,16 +114,16 @@ class EventManager(metaclass=Singleton):
:return: 返回是否存在可用的处理器
"""
if isinstance(etype, ChainEventType):
handlers = self.__chain_subscribers.get(etype, [])
handlers = self.__chain_subscribers.get(etype, {})
return any(
self.__is_handler_enabled(handler)
for _, handler in handlers
for _, handler in handlers.values()
)
else:
handlers = self.__broadcast_subscribers.get(etype, [])
handlers = self.__broadcast_subscribers.get(etype, {})
return any(
self.__is_handler_enabled(handler)
for handler in handlers
for handler in handlers.values()
)
def send_event(self, etype: Union[EventType, ChainEventType], data: Optional[Dict] = None,

View File

@@ -2,8 +2,10 @@ import traceback
from typing import Generator, Optional, Tuple, Any
from app.core.config import settings
from app.core.event import eventmanager
from app.helper.module import ModuleHelper
from app.log import logger
from app.schemas.types import EventType
from app.utils.object import ObjectUtils
from app.utils.singleton import Singleton
@@ -67,6 +69,7 @@ class ModuleManager(metaclass=Singleton):
"""
self.stop()
self.load_modules()
eventmanager.send_event(etype=EventType.ModuleReload, data={})
def test(self, modleid: str) -> Tuple[bool, str]:
"""

View File

@@ -56,6 +56,8 @@ class EventType(Enum):
SystemError = "system.error"
# 刮削元数据
MetadataScrape = "metadata.scrape"
# 模块需要重载
ModuleReload = "module.reload"
# 同步链式事件