db_healthcheck.py 794 B

123456789101112131415161718192021222324252627
  1. from flask import current_app
  2. from sqlalchemy import create_engine
  3. from sqlalchemy.exc import OperationalError
  4. import logging
  5. # Set up logger
  6. logger = logging.getLogger(__name__)
  7. def check_database_connection():
  8. """检查数据库连接状态"""
  9. try:
  10. engine = create_engine(current_app.config['SQLALCHEMY_DATABASE_URI'])
  11. connection = engine.connect()
  12. connection.close()
  13. return True
  14. except OperationalError as e:
  15. logger.error(f"数据库连接失败: {str(e)}")
  16. return False
  17. def check_db_connection():
  18. try:
  19. with db.engine.connect() as conn:
  20. conn.execute(text("SELECT 1"))
  21. return True
  22. except OperationalError as e:
  23. logger.error(f"数据库连接失败: {str(e)}")
  24. return False