watch : géocodage en lot + appariement Vrai-Prix à chaque cycle (carte toujours peuplée)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 changed file +18 −1
modified
immoka/ingest.py
+18 −1
@@ -63,8 +63,25 @@ def run(sources: list[str] | None = None) -> list[dict]: | ||
| 63 | 63 | |
| 64 | 64 | |
| 65 | 65 | def watch(interval_seconds: int = 3600) -> None: |
| 66 | − """Boucle de synchronisation périodique (équivalent webhook, via PM2/cron).""" | |
| 66 | + """Boucle de synchronisation périodique (équivalent webhook, via PM2/cron). | |
| 67 | + | |
| 68 | + Après chaque synchronisation, l'enrichissement continu de la carte | |
| 69 | + (Ka Maps) : géocodage EN LOT des nouvelles adresses (Adresses Québec), | |
| 70 | + puis appariement Vrai-Prix local (estimations + coordonnées du rôle) | |
| 71 | + quand data/vraiprix.db (ou VRAIPRIX_DB) est disponible. | |
| 72 | + """ | |
| 67 | 73 | while True: |
| 68 | 74 | run() |
| 75 | + try: # nouvelles adresses → coordonnées (cache : quasi gratuit ensuite) | |
| 76 | + from . import geocode | |
| 77 | + geocode.run_batch() | |
| 78 | + except Exception as exc: | |
| 79 | + print(f"[immo-ka] geocode: erreur non bloquante: {exc}", file=sys.stderr) | |
| 80 | + try: # estimations Vrai-Prix + géocodage bonus depuis le rôle | |
| 81 | + from . import vraiprix_local | |
| 82 | + if vraiprix_local.available(): | |
| 83 | + vraiprix_local.run(limit=2000) | |
| 84 | + except Exception as exc: | |
| 85 | + print(f"[immo-ka] vraiprix_local: erreur non bloquante: {exc}", file=sys.stderr) | |
| 69 | 86 | print(f"[immo-ka] prochaine synchronisation dans {interval_seconds // 60} min") |
| 70 | 87 | time.sleep(interval_seconds) |
| 71 | 88 | |