task_app.py 963 B

1234567891011121314151617181920212223242526272829303132333435
  1. import logging
  2. from quart_cors import cors
  3. from quart import Quart
  4. from app.core.config import GlobalConfigSettings
  5. from app.core.dependency import log_service, mysql_manager
  6. from app.api.v1 import server_routes
  7. app = Quart(__name__)
  8. app = cors(app, allow_origin="*")
  9. config = GlobalConfigSettings()
  10. routes = server_routes(mysql_manager, log_service, config)
  11. app.register_blueprint(routes)
  12. logging.basicConfig(level=logging.INFO)
  13. @app.before_serving
  14. async def startup():
  15. logging.info("Starting application...")
  16. await mysql_manager.init_pools()
  17. logging.info("Mysql pools init successfully")
  18. await log_service.start()
  19. logging.info("aliyun log service init successfully")
  20. @app.after_serving
  21. async def shutdown():
  22. logging.info("Shutting down application...")
  23. await mysql_manager.close_pools()
  24. logging.info("Mysql pools close successfully")
  25. await log_service.stop()
  26. logging.info("aliyun log service stop successfully")