修改导入顺序
This commit is contained in:
@@ -4,7 +4,14 @@ Core functionality package
|
|||||||
from app.core.env_checker import check_environment
|
from app.core.env_checker import check_environment
|
||||||
from app.core.venv_manager import check_virtualenv
|
from app.core.venv_manager import check_virtualenv
|
||||||
from app.core.dependency_manager import check_dependencies
|
from app.core.dependency_manager import check_dependencies
|
||||||
|
|
||||||
|
|
||||||
|
def __getattr__(name):
|
||||||
|
"""延迟导入,只在首次使用时才导入模块"""
|
||||||
|
if name == 'AppLauncher':
|
||||||
from app.core.launcher import AppLauncher
|
from app.core.launcher import AppLauncher
|
||||||
|
return AppLauncher
|
||||||
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'check_environment',
|
'check_environment',
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ from pathlib import Path
|
|||||||
from app.core.env_checker import check_environment
|
from app.core.env_checker import check_environment
|
||||||
from app.core.venv_manager import check_virtualenv
|
from app.core.venv_manager import check_virtualenv
|
||||||
from app.core.dependency_manager import check_dependencies
|
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:
|
class AppLauncher:
|
||||||
@@ -22,6 +20,8 @@ class AppLauncher:
|
|||||||
project_root: 项目根目录路径
|
project_root: 项目根目录路径
|
||||||
"""
|
"""
|
||||||
self.project_root = project_root
|
self.project_root = project_root
|
||||||
|
# 延迟导入logger
|
||||||
|
from app.utils.logger import get_logger
|
||||||
self.logger = get_logger()
|
self.logger = get_logger()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
@@ -52,6 +52,8 @@ class AppLauncher:
|
|||||||
def start():
|
def start():
|
||||||
"""启动应用服务"""
|
"""启动应用服务"""
|
||||||
from app.core.rainfall_manager import rainfall_manager
|
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()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|||||||
+19
-1
@@ -1,7 +1,25 @@
|
|||||||
"""
|
"""
|
||||||
Utility functions package
|
Utility functions package
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def __getattr__(name):
|
||||||
|
"""延迟导入,只在首次使用时才导入模块"""
|
||||||
|
if name in ('db_helper', 'PostgresSQLHelper'):
|
||||||
from app.utils.db_helper import 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']
|
__all__ = ['db_helper', 'PostgresSQLHelper', 'thread_pool_manager', 'ThreadPoolManager', 'block_main_thread']
|
||||||
|
|||||||
Reference in New Issue
Block a user