task_app.py 936 B

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