betagouv / secretariat

La webapp espace membre de l’incubateur 💁‍♂️👩‍💻
MIT License
7 stars 22 forks source link

Crash du cron lors d'une erreur OVH #372

Closed alemangui closed 2 years ago

alemangui commented 3 years ago

Quand OVH nous retourne un 500, le cron crashe. Il faudrait catcher l'exception et logger l'erreur.

[clock-1] Demarrage du cron job pour la création des adresses email [clock-1] /app/betagouv.js:53 [clock-1] throw new Error(OVH Error GET on ${url} : ${JSON.stringify(err)}); [clock-1] Error: OVH Error GET on /email/domain/beta.gouv.fr/account/someone.example : {"error":500,"message":"Internal server error"} [clock-1] at Object.emailInfos (/app/betagouv.js:53:13) [clock-1] at async CronJob.module.exports.createEmailAddresses (/app/schedulers/emailCreationScheduler.js:26:24)

jdauphant commented 3 years ago

Tu es plus rapide, je venais ici pour créer le ticket ^^

Est-ce que c'est une race-condition avec un humain ?

alemangui commented 3 years ago

C'est possible. C'est bizarre que l'erreur vienne du GET OVH emailInfos, et échoue avec un 500. Je m'attendrait à que l'API OVH pour obtenir les infos d'email soit plus résistante aux race-conditions - car soit il y a des infos soit il n'y en a pas - le 500 me surprend un peu.

jdauphant commented 3 years ago

ah oui en effet mais il y a des supprises dans l'API OVH, la création de compte était peut-être très fraiche

LucasCharrier commented 3 years ago

Finalement on revient à la version initiale le temps de mettre en place Sentry et de pouvoir monitorer les erreurs renvoyer sur console.error. Voici les tâches concernés :

387 : revert à la version initiale en gardant les tests en comments

143 : mise en place de Sentry

388 : rajouter le catch et décommenter les tests

polomarcus commented 3 years ago

réouverture à la suite du revert (attente d'une système de gestion de logs d'erreur) https://github.com/betagouv/secretariat/pull/389