Enhance: Complete bilingual (CN/EN) log support for VolcSync
This commit is contained in:
+49
-16
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user