fix(async): offload synchronous plugin methods

This commit is contained in:
InfinityPacer
2026-08-23 15:19:15 +08:00
parent 1f64e99a6f
commit 2ac61337b8
6 changed files with 196 additions and 9 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ from collections.abc import Callable, Mapping
from typing import Any, Protocol, cast
from app.foundation.reflection import ObjectUtils
from app.runtime.execution import run_in_threadpool
from app.runtime.execution import run_in_threadpool_to_completion
from app.runtime.log import logger
from app.runtime.observability import observe_duration, record_metric
from app.runtime.extensions.module.contracts import (
@@ -49,7 +49,7 @@ class ModuleInvocationDispatcher:
plugin_error_handler: ModuleErrorHandler,
system_error_handler: ModuleErrorHandler,
rate_limit_handler: ModuleErrorHandler,
async_function_runner: AsyncFunctionRunner = run_in_threadpool,
async_function_runner: AsyncFunctionRunner = run_in_threadpool_to_completion,
) -> None:
"""保存模块目录和策略回调,不主动发现或创建任何运行时资源。"""
self._module_catalog = module_catalog