feat(config): add live slow-sql threshold setting
This commit is contained in:
@@ -34,6 +34,7 @@ def update_system_config_api():
|
||||
schedule_weekdays = data.get("schedule_weekdays")
|
||||
new_max_concurrent_per_account = data.get("max_concurrent_per_account")
|
||||
new_max_screenshot_concurrent = data.get("max_screenshot_concurrent")
|
||||
db_slow_query_ms = data.get("db_slow_query_ms")
|
||||
enable_screenshot = data.get("enable_screenshot")
|
||||
auto_approve_enabled = data.get("auto_approve_enabled")
|
||||
auto_approve_hourly_limit = data.get("auto_approve_hourly_limit")
|
||||
@@ -62,6 +63,14 @@ def update_system_config_api():
|
||||
if not isinstance(new_max_screenshot_concurrent, int) or new_max_screenshot_concurrent < 1:
|
||||
return jsonify({"error": "截图并发数必须大于0(建议根据服务器配置设置,wkhtmltoimage 资源占用较低)"}), 400
|
||||
|
||||
if db_slow_query_ms is not None:
|
||||
try:
|
||||
db_slow_query_ms = int(db_slow_query_ms)
|
||||
except (ValueError, TypeError):
|
||||
return jsonify({"error": "慢 SQL 阈值必须是数字(毫秒)"}), 400
|
||||
if db_slow_query_ms < 0 or db_slow_query_ms > 60000:
|
||||
return jsonify({"error": "慢 SQL 阈值范围应在 0-60000 毫秒之间"}), 400
|
||||
|
||||
if enable_screenshot is not None:
|
||||
if isinstance(enable_screenshot, bool):
|
||||
enable_screenshot = 1 if enable_screenshot else 0
|
||||
@@ -197,6 +206,7 @@ def update_system_config_api():
|
||||
kdocs_admin_notify_email=kdocs_admin_notify_email,
|
||||
kdocs_row_start=kdocs_row_start,
|
||||
kdocs_row_end=kdocs_row_end,
|
||||
db_slow_query_ms=db_slow_query_ms,
|
||||
):
|
||||
return jsonify({"error": "更新失败"}), 400
|
||||
|
||||
@@ -207,6 +217,14 @@ def update_system_config_api():
|
||||
max_global=int(new_config.get("max_concurrent_global", old_config.get("max_concurrent_global", 2))),
|
||||
max_per_user=int(new_config.get("max_concurrent_per_account", old_config.get("max_concurrent_per_account", 1))),
|
||||
)
|
||||
|
||||
try:
|
||||
import db_pool
|
||||
|
||||
db_pool.configure_slow_query_runtime(threshold_ms=new_config.get("db_slow_query_ms"))
|
||||
except Exception as slow_sql_error:
|
||||
logger.warning(f"慢 SQL 运行时阈值更新失败: {slow_sql_error}")
|
||||
|
||||
if new_max_screenshot_concurrent is not None:
|
||||
try:
|
||||
from browser_pool_worker import resize_browser_worker_pool
|
||||
@@ -224,5 +242,7 @@ def update_system_config_api():
|
||||
logger.info(f"单用户并发数已更新为: {new_max_concurrent_per_account}")
|
||||
if new_max_screenshot_concurrent is not None:
|
||||
logger.info(f"截图并发数已更新为: {new_max_screenshot_concurrent}")
|
||||
if db_slow_query_ms is not None:
|
||||
logger.info(f"慢 SQL 阈值已更新为: {db_slow_query_ms}ms")
|
||||
|
||||
return jsonify({"message": "系统配置已更新"})
|
||||
|
||||
Reference in New Issue
Block a user