Files
arena-leaderboard-parser/arena_cache_refresh.py
T

29 lines
1.0 KiB
Python

#!/usr/bin/env python3
"""
arena_cache_refresh.py — cron no_agent job.
Раз в сутки обновляет кеш лидерборда arena.ai (24h TTL).
Silent watchdog: успех = одна короткая строка в лог крона, в чат ничего не летит.
"""
import sys
import traceback
sys.path.insert(0, "/opt/data/skills/research/arena-leaderboard-parser")
try:
from arena_leaderboard import get_leaderboard
except ImportError:
print("FATAL: cannot import arena_leaderboard from "
"/opt/data/skills/research/arena-leaderboard-parser")
sys.exit(1)
try:
lb = get_leaderboard(force_refresh=True)
top1 = lb["models"][0]
print(f"ok: refreshed {lb['total_models']} models (updated {lb['updated']}); "
f"#{top1['rank']} {top1['model']} {top1['score']}; board=text")
except Exception as e:
print(f"FAIL: {type(e).__name__}: {e}")
traceback.print_exc()
# не валимся молча — код 1, чтобы крон пометил run как error
sys.exit(1)