29 lines
1.0 KiB
Python
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)
|