fix(worker): keepalive RAR ca dashboard-ul sa nu afiseze fals "RAR inaccesibil"
Dashboard-ul deduce starea RAR din vechimea ultimului login reusit (>30h -> "indisponibil?"). Cand coada e goala, worker-ul nu are de ce sa se logheze, deci timestamp-ul devine stale si banner-ul "Blocat: RAR inaccesibil — declaratiile NU pleaca" apare fals, desi RAR raspunde. Worker-ul face acum un login de proba o data pe zi (interval configurabil, 24h < pragul de 30h) cand coada e goala: pe succes reimprospateaza last_rar_login_ok; pe esec real last_rar_login_ok ramane vechi -> dashboard degradeaza corect. Forteaza login real (invalideaza sesiunea) ca proba sa fie autentica. Gating: cel mult o sondare pe interval, sa nu hartuiasca RAR jos. _keepalive_target sare conturile ale caror creds NU se decripteaza sub cheia curenta (start.sh both genereaza cheie efemera noua la fiecare pornire -> creds durabile vechi dau decrypt None) si cade pe creds <test> in dev. Teste: tests/test_worker_keepalive_rar.py (6). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -99,6 +99,11 @@ class Settings(BaseSettings):
|
||||
# Dev: foloseste creds <test> din settings.xml pt login worker. In productie
|
||||
# creds vin per-cerere de la ROAAUTO — lasa False.
|
||||
worker_use_test_creds: bool = False
|
||||
# Keepalive RAR: cand coada e goala, worker-ul face un login de proba la fiecare
|
||||
# atata timp ca sa pastreze last_rar_login_ok proaspat (sub pragul de 30h al
|
||||
# dashboard-ului) — altfel banner-ul "RAR inaccesibil" apare fals doar din lipsa
|
||||
# de trafic. 0 = dezactivat. Implicit o data pe zi (24h < 30h, margine de 6h).
|
||||
worker_rar_keepalive_interval_s: int = 86400
|
||||
worker_sending_lease_s: int = 120 # rand 'sending' mai vechi de atat = orfan (worker mort mid-POST)
|
||||
worker_retry_base_s: int = 5 # backoff = base * 2^retry (plafonat la max)
|
||||
worker_retry_max_s: int = 300
|
||||
|
||||
Reference in New Issue
Block a user