Enhance: Complete bilingual (CN/EN) log support for VolcSync

This commit is contained in:
kim
2026-01-29 18:48:03 +08:00
parent c536421410
commit d66231a333
+49 -16
View File
@@ -639,7 +639,10 @@ def active_monitor_loop():
content = f.read() content = f.read()
lines = content.split("\n") lines = content.split("\n")
print("Auto-discovering Volcengine models from config.yaml...") print(
"Auto-discovering Volcengine models from config.yaml / 正在从 config.yaml 自动发现火山引擎模型...",
flush=True,
)
# Robust Parsing Logic # Robust Parsing Logic
current_entry = {"is_volc": False, "upstream_model": None} current_entry = {"is_volc": False, "upstream_model": None}
@@ -683,16 +686,22 @@ def active_monitor_loop():
INTERESTED_MODELS.add(current_entry["upstream_model"]) INTERESTED_MODELS.add(current_entry["upstream_model"])
print( print(
f"Auto-discovered {len(INTERESTED_MODELS)} Active Volcengine models (Upstream Names): {INTERESTED_MODELS}" f"Auto-discovered / 已自动发现 {len(INTERESTED_MODELS)} Active Volcengine models (Upstream Names): {INTERESTED_MODELS}",
flush=True,
) )
except Exception as e: except Exception as e:
print(f"Config Auto-discovery failed: {e}") print(f"Config Auto-discovery failed / 配置自动发现失败: {e}", flush=True)
if not redis_client: if not redis_client:
print("❌ Redis not connected. Exiting monitor loop.") print(
"❌ Redis not connected. Exiting monitor loop / Redis 未连接,退出监控循环.",
flush=True,
)
sys.exit(1) sys.exit(1)
print(f"✅ Redis connected at {REDIS_HOST}:{REDIS_PORT}") print(
f"✅ Redis connected at / Redis 已连接于 {REDIS_HOST}:{REDIS_PORT}", flush=True
)
last_usage_map = {} last_usage_map = {}
last_sync_time = 0 last_sync_time = 0
@@ -701,8 +710,11 @@ def active_monitor_loop():
IDLE_THRESHOLD = 300 IDLE_THRESHOLD = 300
idle_start_time = 0 idle_start_time = 0
print("Starting Active Monitor Loop (Safety-Margin + Idle Awareness)...") print(
print(f"Buffer: {BUFFER}, Threshold: {THRESHOLD}") "Starting Active Monitor Loop (Safety-Margin + Idle Awareness) / 正在启动主动监控循环 (安全余量 + 空闲感知)...",
flush=True,
)
print(f"Buffer / 缓冲: {BUFFER}, Threshold / 阈值: {THRESHOLD}", flush=True)
while True: while True:
try: try:
@@ -766,14 +778,15 @@ def active_monitor_loop():
"Burst Traffic" if delta > THRESHOLD else "Timer Expired" "Burst Traffic" if delta > THRESHOLD else "Timer Expired"
) )
print( print(
f"{'💤' if is_idle else '⚡'} Sync Triggered ({trigger_reason})... Delta: {delta}, Interval: {current_sync_interval}s" f"{'💤' if is_idle else '⚡'} Sync Triggered ({trigger_reason}) / 同步触发... Delta: {delta}, Interval: {current_sync_interval}s",
flush=True,
) )
packages = fetch_all_packages() packages = fetch_all_packages()
model_balances = process_packages_breakdown(packages) model_balances = process_packages_breakdown(packages)
print( print(
f"DEBUG: Processed models: {list(model_balances.keys())}", f"DEBUG: Processed models / 已处理模型: {list(model_balances.keys())}",
flush=True, flush=True,
) )
@@ -783,7 +796,7 @@ def active_monitor_loop():
for model_name, balance in model_balances.items(): for model_name, balance in model_balances.items():
remaining = balance - BUFFER remaining = balance - BUFFER
print( print(
f"DEBUG: Checking {model_name} (Bal: {int(balance):,}, Rem: {int(remaining):,})", f"DEBUG: Checking {model_name} (Bal: {int(balance):,}, Rem: {int(remaining):,}) (余额/剩余)",
flush=True, flush=True,
) )
@@ -829,17 +842,34 @@ def active_monitor_loop():
last_usage_map["global"] = current_usage_global last_usage_map["global"] = current_usage_global
last_sync_time = now last_sync_time = now
if global_min_remaining > 10_000_000: if global_min_remaining > 800000:
print( print(
f"🌊 High Tide Mode: Sleeping for 30m (Min Rem: {int(global_min_remaining):,})" f"🌊 High Tide Mode: Sleeping for 30m (Min Rem: {int(global_min_remaining):,}) / 高水位模式:休眠 60 分钟",
flush=True,
) )
elif global_min_remaining > 2_000_000: elif global_min_remaining > 500000:
print( print(
f"⛵ Safe Sailing Mode: Sleeping for 5m (Min Rem: {int(global_min_remaining):,})" f"🌊 Normal Mode: Sleeping for 30m (Min Rem: {int(global_min_remaining):,}) / 正常模式:休眠 30 分钟",
flush=True,
)
elif global_min_remaining > 300000:
print(
f"🚤 Speed Mode: Sleeping for 10m (Min Rem: {int(global_min_remaining):,}) / 极速模式:休眠 10 分钟",
flush=True,
)
elif global_min_remaining > 100000:
print(
f"⛵ Safe Sailing Mode: Sleeping for 5m (Min Rem: {int(global_min_remaining):,}) / 安全航行模式:休眠 5 分钟",
flush=True,
)
else:
print(
f"🆘 Emergency Mode: Sleeping for 2m (Min Rem: {int(global_min_remaining):,}) / 紧急模式:休眠 2 分钟",
flush=True,
) )
except Exception as e: except Exception as e:
print(f"Error in monitor loop: {e}") print(f"Error in monitor loop / 监控循环出错: {e}", flush=True)
traceback.print_exc() traceback.print_exc()
time.sleep(5) time.sleep(5)
@@ -848,6 +878,9 @@ if __name__ == "__main__":
active_monitor_loop() active_monitor_loop()
else: else:
# Auto-start when loaded as a module/callback # Auto-start when loaded as a module/callback
print("🚀 Initializing VolcSync Background Monitor...", flush=True) print(
"🚀 Initializing VolcSync Background Monitor... / 正在初始化火山引擎同步后台监控...",
flush=True,
)
t = threading.Thread(target=active_monitor_loop, daemon=True) t = threading.Thread(target=active_monitor_loop, daemon=True)
t.start() t.start()