[ka2] fix connecteur louis14: « Scrapfly : rendu vide » retryable dans _render_ok. Au sync de 05:51 le connecteur a échoué (found=0, stale) sur un hoquet ASP Scrapfly : get_scrapfly a retourné "" dès le PREMIER rendu de la page plans Livya → get_rendered lève RuntimeError immédiatement, et cette exception TRAVERSAIT la boucle de 3 tentatives de _render_ok (qui ne retryait que compteur absent / grille incomplète) — un seul rendu vide tuait tout le sync, alors que le connecteur était sain (found=18 stable depuis la réécriture d2577 du 2026-10-22, re-testé live OK). Fix minimal : try/except RuntimeError autour de get_rendered dans la boucle de _render_ok — le rendu vide profite désormais des mêmes 3 tentatives avec backoff 5/10 s, erreur franche inchangée si les 3 échouent. Fixtures inchangées, pytest louis14 2 passed. Testé : run.py sync louis14 → found=18 ok (added=0, updated=0, removed=0, 49,7 s) = médiane exacte, pm2 restart lou-ka-sync, site :8095 → 200.
1 changed file +7 −1
modified
louka/connectors/louis14.py
+7 −1
@@ -178,7 +178,13 @@ class Louis14Connector(BaseConnector): | |||||
| 178 | """ | 178 | """ | ||
| 179 | last_err: Exception | None = None | 179 | last_err: Exception | None = None | ||
| 180 | for attempt in range(3): | 180 | for attempt in range(3): | ||
| 181 | − html = self.get_rendered(url, wait_ms=4000, nav_id=nav_id) | 181 | + try: | ||
| 182 | + html = self.get_rendered(url, wait_ms=4000, nav_id=nav_id) | ||||
| 183 | + except RuntimeError as exc: # rendu vide (hoquet ASP Scrapfly) | ||||
| 184 | + last_err = exc | ||||
| 185 | + if attempt < 2: | ||||
| 186 | + time.sleep(5 * (attempt + 1)) | ||||
| 187 | + continue | ||||
| 182 | m = _COUNT_RE.search( | 188 | m = _COUNT_RE.search( | ||
| 183 | _html.unescape(re.sub(r"<[^>]+>", " ", html))) | 189 | _html.unescape(re.sub(r"<[^>]+>", " ", html))) | ||
| 184 | if not m: | 190 | if not m: | ||
| 185 | 191 | ||||