feat(volc_sync): optimize frequency intervals and logging

This commit is contained in:
kim
2026-01-29 16:12:26 +08:00
parent 5946147ebb
commit 2cdd1a3295
+31 -9
View File
@@ -454,9 +454,22 @@ class DailyLimitHandler(CustomLogger):
) )
display_limit = f"/{int(effective_limit):,}" if effective_limit else "" display_limit = f"/{int(effective_limit):,}" if effective_limit else ""
# Get Dynamic Remaining for Log
dynamic_key = f"limit:dynamic:volcengine:remaining:{clean_model}"
rem_val = redis_client.get(dynamic_key)
rem_display = ""
if rem_val is not None:
try:
# Display Real Balance (Remaining + Buffer)
rem_int = int(float(rem_val))
bal_est = rem_int + BUFFER
rem_display = f", Bal: {bal_est:,}"
except Exception:
pass
key_display = key.split(":", 2)[-1] key_display = key.split(":", 2)[-1]
log( log(
f"📊 [Usage] {key_display}: +{total_tokens} (Today: {current_total:,}{display_limit})", f"📊 [Usage] {key_display}: +{total_tokens} (Today: {current_total:,}{display_limit}{rem_display})",
level="INFO", level="INFO",
) )
@@ -593,16 +606,25 @@ def active_monitor_loop():
) )
# Dynamic Interval # Dynamic Interval
if global_min_remaining > 2_000_000: # Logic: Adjust intervals based on distance from BUFFER
base_interval = 1800 # User specified thresholds (Distance < X):
elif global_min_remaining > 1_000_000: # < 10w -> 2min (120s)
base_interval = 600 # < 30w -> 5min (300s)
elif global_min_remaining > 600_000: # < 50w -> 10min (600s)
# < 80w -> 30min (1800s)
# < 100w -> 60min (3600s)
# >= 100w -> 60min (3600s)
if global_min_remaining < 100_000:
base_interval = 120
elif global_min_remaining < 300_000:
base_interval = 300 base_interval = 300
elif global_min_remaining > 300_000: elif global_min_remaining < 500_000:
base_interval = 60 base_interval = 600
elif global_min_remaining < 800_000:
base_interval = 1800
else: else:
base_interval = 10 base_interval = 3600
if is_idle: if is_idle:
current_sync_interval = min(base_interval * 4, 3600) current_sync_interval = min(base_interval * 4, 3600)