task_app.py 873 B

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