后端连接数据库发送心跳查询怎么写
时间: 2024-10-04 19:03:31 浏览: 28
xintiao.rar_心跳
后端连接数据库发送心跳查询通常是为了保持与数据库服务器的连接活跃,并确保数据访问的可用性。这里我会给出一个简单的Python(Flask框架)示例,假设我们使用的是SQLAlchemy ORM库:
```python
from flask import Flask, g
from sqlalchemy import create_engine, text
import time
app = Flask(__name__)
# 初始化数据库连接
def init_db():
global db_connection
db_connection = create_engine('your_database_uri')
with db_connection.connect() as conn:
# 执行一次查询获取连接状态,然后关闭连接
g.conn = conn.execute(text("SELECT 1")).fetchone()
conn.close()
# 发送心跳查询
@app.route('/heartbeat', methods=['GET'])
def heartbeat():
if not hasattr(g, 'conn'):
init_db() # 如果连接不存在,初始化一次
try:
with g.conn.begin():
g.conn.execute(text("SELECT 1")) # 执行一条简单查询
return "Heartbeat successful", 200
except Exception as e:
app.logger.error(f"Error sending heartbeat: {str(e)}")
return "Heartbeat failed", 500
# 关闭数据库连接
@app.teardown_appcontext
def close_db(error):
if hasattr(g, 'conn'):
g.conn.dispose()
if __name__ == '__main__':
app.run()
```
在这个例子中,`init_db()`函数用于创建数据库连接并在首次请求时执行一次查询,之后每次发送`/heartbeat`请求都会检查并执行一个简单的查询。如果遇到异常,会记录错误信息。
阅读全文