Chiude le sessioni idle abbandonate prima che occupino slot e scalino Hetzner.

Il sweeper ora termina le idle dopo 30 minuti (cron ogni 10), così non restano appese a tenere accesi i warm-spare.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-16 07:43:34 +02:00
co-authored by Cursor
parent 2db6541c91
commit cc9c4a1120
7 changed files with 134 additions and 7 deletions
+2
View File
@@ -112,6 +112,8 @@ STREAM_AUTOSCALE_ALLOW_CLOUD=0
STREAM_AUTOSCALE_SOFT_FREE_SLOTS=2
STREAM_AUTOSCALE_WARM_SPARE=1
STREAM_AUTOSCALE_IDLE_MINUTES=30
STREAM_SESSION_IDLE_MINUTES=30
STREAM_SESSION_STALE_HOURS=6
STREAM_AUTOSCALE_MAX_NODES=12
STREAM_AUTOSCALE_NODE_EUR_PER_HOUR=0.015
STREAM_AUTOSCALE_MONTHLY_BUDGET_EUR=150
+3
View File
@@ -148,6 +148,9 @@ STREAM_AUTOSCALE_ALLOW_CLOUD=0
STREAM_AUTOSCALE_SOFT_FREE_SLOTS=2
STREAM_AUTOSCALE_WARM_SPARE=1
STREAM_AUTOSCALE_IDLE_MINUTES=30
# Sessioni idle (wizard mai partito) / connecting-reconnecting stale: liberano slot MediaMTX
STREAM_SESSION_IDLE_MINUTES=30
STREAM_SESSION_STALE_HOURS=6
# Fase A (qualità-first): soft ≈ 4 + 12×6 = 76. Fasi successive (dopo misure):
# B: MAX_NODES=22 BUDGET=250 → ~136
# C: MAX_NODES=33 BUDGET=360 → ~202
+1
View File
@@ -33,6 +33,7 @@ CRON_BLOCK="${MARKER}
15 * * * * mkdir -p ${LOG_DIR} && ${RUNNER} analytics:aggregate >> ${LOG_DIR}/cron-analytics.log 2>&1
20 4 * * * mkdir -p ${LOG_DIR} && ${RUNNER} analytics:purge >> ${LOG_DIR}/cron-analytics.log 2>&1
*/15 * * * * mkdir -p ${LOG_DIR} && ${RUNNER} streams:night_cloud_sweep >> ${LOG_DIR}/cron-night-sweep.log 2>&1
*/10 * * * * mkdir -p ${LOG_DIR} && ${RUNNER} streams:cleanup_expired_sessions >> ${LOG_DIR}/cron-session-cleanup.log 2>&1
*/10 * * * * mkdir -p ${LOG_DIR} && /bin/bash ${SCAN_LOGS} >> ${OPS_LOG_FILE} 2>&1
"