dependencies.py 683 B

12345678910111213141516171819202122232425
  1. from dependency_injector import containers, providers
  2. from app.core.config import GlobalConfigSettings
  3. from app.core.database import DatabaseManager
  4. from app.core.observability import LogService
  5. from app.core.task_registry import TaskRegistry
  6. class ServerContainer(containers.DeclarativeContainer):
  7. # config
  8. config = providers.Singleton(GlobalConfigSettings)
  9. # 阿里云日志
  10. log_service = providers.Singleton(LogService, log_config=config.provided.aliyun_log)
  11. # MySQL
  12. mysql_manager = providers.Singleton(DatabaseManager, config=config)
  13. # 任务注册表
  14. task_registry = providers.Singleton(TaskRegistry)
  15. __all__ = [
  16. "ServerContainer",
  17. ]