resource_manager.py 834 B

123456789101112131415161718192021222324252627282930313233
  1. from utils.mysql import DatabaseManager
  2. class ResourceManager:
  3. def __init__(self, env):
  4. self.env = env
  5. self.mysql_client: DatabaseManager | None = None
  6. async def startup(self):
  7. # 初始化 MySQL
  8. self.mysql_client = DatabaseManager(self.env)
  9. await self.mysql_client.init_pools()
  10. print("MySQL connected")
  11. async def shutdown(self):
  12. # 关闭 MySQL
  13. if self.mysql_client:
  14. await self.mysql_client.close_pools()
  15. print("Mysql closed")
  16. _resource_manager: ResourceManager | None = None
  17. def init_resource_manager(env):
  18. global _resource_manager
  19. if _resource_manager is None:
  20. _resource_manager = ResourceManager(env)
  21. return _resource_manager
  22. def get_resource_manager() -> ResourceManager:
  23. return _resource_manager