修复: 参数类型强制转换 + camelCase 防御性转换
This commit is contained in:
@@ -15,6 +15,7 @@ import json
|
||||
import logging
|
||||
import os
|
||||
import platform
|
||||
import re
|
||||
import socket
|
||||
|
||||
# 禁用系统代理(Clash 等代理工具会干扰 Redis TCP 长连接)
|
||||
@@ -53,6 +54,12 @@ def _build_keepalive_options():
|
||||
return opts
|
||||
|
||||
|
||||
def _camel_to_snake(name: str) -> str:
|
||||
"""将 camelCase 转换为 snake_case"""
|
||||
s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
|
||||
return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower()
|
||||
|
||||
|
||||
# ==================== Redis Key 常量 ====================
|
||||
|
||||
# 云端 Redis Keys
|
||||
@@ -648,6 +655,8 @@ class ConfigSyncManager:
|
||||
if global_params and isinstance(global_params, dict):
|
||||
for algo_code, params_dict in global_params.items():
|
||||
if isinstance(params_dict, dict):
|
||||
# 防御性转换:camelCase → snake_case
|
||||
params_dict = {_camel_to_snake(k): v for k, v in params_dict.items()}
|
||||
self._db_manager.save_global_params(algo_code, params_dict)
|
||||
logger.info(f"全局参数同步完成: {list(global_params.keys())}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user