db_healthcheck.py 823 B

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