SPB Git forge

spb/job-ka

Public
229commits 1branches 0releases
38.1 MBsize
maindefault branch
1 h agolast push
HTML 82.1% Python 14.6% TypeScript 1.9% CSS 1% JavaScript 0.5%

[ka6] fix connecteur jobillico: un 410/404 sur une page détail (offre retirée entre le sitemap et la visite) n'avorte plus tout le sync — skip de l'offre; erreurs serveur/réseau ponctuelles → repli cache périmé (pattern guichet_emplois)

Simon-Pierre Boucher committed 1 mo ago (Aug 25, 2026) parent dd39839

1 changed file +18 −2

modified jobka/connectors/jobillico.py +18 −2
@@ -5,7 +5,7 @@
5 5 # Fichier : jobka/connectors/jobillico.py
6 6 # Rôle : Connecteur portail — Jobillico (grand portail d'emploi québécois).
7 7 # AGRÉGATEUR : moins autoritaire qu'une page carrière (dedup).
8 −# Créé : 2026-08-18 Modifié : 2026-08-18
8 +# Créé : 2026-08-18 Modifié : 2026-08-25
9 9 # =============================================================================
10 10 """Portail Jobillico (jobillico.com).
11 11
@@ -23,6 +23,8 @@ from __future__ import annotations
23 23 import os
24 24 import re
25 25
26 +import requests
27 +
26 28 from ..schema import JobPosting, is_quebec_location
27 29 from .base import BaseConnector
28 30 from . import _jsonld
@@ -78,7 +80,21 @@ class JobillicoConnector(BaseConnector):
78 80 fresh[0] = True
79 81 return self._fetch_detail(u)
80 82
81 − fields = self.detail(eid, key, _fn)
83 + try:
84 + fields = self.detail(eid, key, _fn)
85 + except requests.HTTPError as exc:
86 + code = getattr(exc.response, "status_code", 0)
87 + if code in (404, 410):
88 + # offre retirée entre le sitemap et la visite —
89 + # normal et non bloquant : on saute cette offre
90 + if fresh[0]:
91 + details_used += 1
92 + continue
93 + # erreur serveur ponctuelle (520…) : cache périmé,
94 + # l'offre sera re-tentée au prochain cycle
95 + fields = self.stale_detail(eid)
96 + except (requests.ConnectionError, requests.Timeout):
97 + fields = self.stale_detail(eid)
82 98 if fresh[0]:
83 99 details_used += 1
84 100 else:
85 101