修改导入顺序

This commit is contained in:
wzy-warehouse
2026-05-30 16:05:41 +08:00
parent d2ffaad7a3
commit eb092d4702
3 changed files with 32 additions and 5 deletions
+7
View File
@@ -4,7 +4,14 @@ Core functionality package
from app.core.env_checker import check_environment
from app.core.venv_manager import check_virtualenv
from app.core.dependency_manager import check_dependencies
def __getattr__(name):
"""延迟导入,只在首次使用时才导入模块"""
if name == 'AppLauncher':
from app.core.launcher import AppLauncher
return AppLauncher
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
__all__ = [
'check_environment',
+4 -2
View File
@@ -7,8 +7,6 @@ from pathlib import Path
from app.core.env_checker import check_environment
from app.core.venv_manager import check_virtualenv
from app.core.dependency_manager import check_dependencies
from app.utils.logger import get_logger
from app.utils.thread_pool_manager import block_main_thread, thread_pool_manager
class AppLauncher:
@@ -22,6 +20,8 @@ class AppLauncher:
project_root: 项目根目录路径
"""
self.project_root = project_root
# 延迟导入logger
from app.utils.logger import get_logger
self.logger = get_logger()
def run(self):
@@ -52,6 +52,8 @@ class AppLauncher:
def start():
"""启动应用服务"""
from app.core.rainfall_manager import rainfall_manager
from app.utils.logger import get_logger
from app.utils.thread_pool_manager import block_main_thread, thread_pool_manager
logger = get_logger()
+19 -1
View File
@@ -1,7 +1,25 @@
"""
Utility functions package
"""
def __getattr__(name):
"""延迟导入,只在首次使用时才导入模块"""
if name in ('db_helper', 'PostgresSQLHelper'):
from app.utils.db_helper import db_helper, PostgresSQLHelper
from app.utils.thread_pool_manager import thread_pool_manager, ThreadPoolManager, block_main_thread
return db_helper if name == 'db_helper' else PostgresSQLHelper
elif name in ('thread_pool_manager', 'ThreadPoolManager', 'block_main_thread'):
from app.utils.thread_pool_manager import (
thread_pool_manager,
ThreadPoolManager,
block_main_thread
)
if name == 'thread_pool_manager':
return thread_pool_manager
elif name == 'ThreadPoolManager':
return ThreadPoolManager
else:
return block_main_thread
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
__all__ = ['db_helper', 'PostgresSQLHelper', 'thread_pool_manager', 'ThreadPoolManager', 'block_main_thread']