task_app.py 998 B

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