修改导入顺序
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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
@@ -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']
|
||||
|
||||
Reference in New Issue
Block a user