etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
195 stars 30 forks source link

ConsolidateBNLCJob : message d'erreur silencieux quand ressource indisponible #4170

Open AntoineAugusti opened 1 month ago

AntoineAugusti commented 1 month ago

Constaté avec @AurelienC

Constat

Lorsqu'un fichier CSV de lieux de covoiturage est indisponible (serveur lent/erreur 500 du fichier par exemple), la consolidation ne s'effectue pas et aucun rapport n'est envoyé par e-mail.

Sur le dashboard de suivi des jobs

(Oban.PerformError) Transport.Jobs.ConsolidateBNLCJob failed with {:discard, "Cannot consolidate the BNLC because the TableSchema validator is not available"}

Pourquoi

Le validateur TableSchema renvoie une erreur qui n'est pas gérée correctement et on tombe alors que le cas "le validateur n'est pas disponible, on arrête tout" mais sans prévenir par e-mail.

https://github.com/etalab/transport-site/blob/16801f4098f7d4239a2cd657b07de6fc692c9859/apps/transport/lib/jobs/consolidate_bnlc_job.ex#L93

À faire

Réponse de Validata

{"_meta":{"args":{"header_case":null,"schema":"https:\/\/schema.data.gouv.fr\/schemas\/etalab\/schema-lieux-covoiturage\/0.3.0\/schema.json","url":"https:\/\/datasets.grandbesancon.fr\/fichiers\/aireCovoiturage\/lieux_de_covoiturage_GBM_20240131.csv"},"validata-table-version":"0.10.3"},"error":{"message":"The data source could not be successfully loaded: HTTPSConnectionPool(host='datasets.grandbesancon.fr', port=443): Read timed out. (read timeout=10)","name":"Scheme Error"}}
AntoineAugusti commented 1 month ago

@pierrecamilleri Tu sais ce que donnerait cette erreur pour la nouvelle version de Validata ?

pierrecamilleri commented 1 month ago

Je regarde dans la journée !

pierrecamilleri commented 1 month ago

Ce n'est pas exactement ça dans l'état actuel (il manque notamment le champs "type" que je vais systématiser), mais d'ici la mise en préprod, c'est une erreur 400 avec ces données :

{
  "schema": "https://schema.data.gouv.fr/schemas/etalab/schema-lieux-covoiturage/0.3.0/schema.json",
  "url": "https://datasets.grandbesancon.fr/fichiers/aireCovoiturage/lieux_de_covoiturage_GBM_20240131.csv",
  "options": {
    "header_case": false
  },
  "version": "0.12.0",
  "date": "2024-09-11",
  "error": {
    "message": "Unable to extract header and rows from remote content: HTTPSConnectionPool(host='datasets.grandbesancon.fr', port=443): Read timed out. (read timeout=10)",
    "type": "remote-reader-error"
  }
}