From 896e473c410b1486fa6bc835e1e33a7437ad584c Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Fri, 6 Dec 2024 01:54:51 +0800 Subject: [PATCH] fix(event): filter and handle only enabled event handlers --- app/core/event.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/core/event.py b/app/core/event.py index 7bd66add..f8af7da3 100644 --- a/app/core/event.py +++ b/app/core/event.py @@ -347,8 +347,17 @@ class EventManager(metaclass=Singleton): if not handlers: logger.debug(f"No handlers found for chain event: {event}") return False + + # 过滤出启用的处理器 + enabled_handlers = {handler_id: (priority, handler) for handler_id, (priority, handler) in handlers.items() + if self.__is_handler_enabled(handler)} + + if not enabled_handlers: + logger.debug(f"No enabled handlers found for chain event: {event}. Skipping execution.") + return False + self.__log_event_lifecycle(event, "Started") - for handler_id, (priority, handler) in handlers.items(): + for handler_id, (priority, handler) in enabled_handlers.items(): start_time = time.time() self.__safe_invoke_handler(handler, event) logger.debug(