SPB Git forge

spb/house-ka

Public
18commits 1branches 0releases
1.9 MBsize
maindefault branch
19 days agolast push
Python 67% TypeScript 18.2% CSS 14.4%

[ka2] fix connecteur rp_ag_denisedunnrealtor: ordre stale-first de la boucle sync (queue de liste affamée par cycles >24h + restarts)

Simon-Pierre Boucher committed 26 days ago (Aug 29, 2026) parent 46a86ef

1 changed file +12 −1

modified immoka/ingest.py +12 −1
@@ -14,11 +14,22 @@ from . import db
14 14 from .connectors import CONNECTORS
15 15
16 16
17 +def _stale_first(con, targets: list[str]) -> list[str]:
18 + """Ordonne les sources par dernier succès croissant (jamais synchronisées
19 + d'abord). Une passe complète dure ~24 h : dans l'ordre fixe du registre,
20 + un restart mi-cycle repart de zéro et affame la fin de la liste (hanlon,
21 + denisedunn, raymondanthony marquées stale le 2026-08-29). Ici, les plus
22 + en retard passent en tête de chaque cycle."""
23 + last = {r[0]: r[1] for r in con.execute(
24 + "SELECT source, MAX(ts) FROM sync_log WHERE ok=1 GROUP BY source")}
25 + return sorted(targets, key=lambda sid: last.get(sid) or 0.0)
26 +
27 +
17 28 def run(sources: list[str] | None = None) -> list[dict]:
18 29 """Exécute l'ingestion pour toutes les sources (ou celles demandées)."""
19 30 con = db.connect()
20 31 results = []
21 − targets = sources or list(CONNECTORS.keys())
32 + targets = sources or _stale_first(con, list(CONNECTORS.keys()))
22 33 for sid in targets:
23 34 cls = CONNECTORS.get(sid)
24 35 if cls is None:
25 36