-
Notifications
You must be signed in to change notification settings - Fork 22
Cron: handle error from OVH when creating email #378
Conversation
Co-authored-by: Alejandro M Guillén <alejandro@amguillen.dev>
Co-authored-by: Alejandro M Guillén <alejandro@amguillen.dev>
Co-authored-by: Alejandro M Guillén <alejandro@amguillen.dev>
Co-authored-by: Alejandro M Guillén <alejandro@amguillen.dev>
return await Promise.all(emailCreationTasks); | ||
} catch (err) { | ||
console.error(err); | ||
return Promise.resolve(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si le job crash en continue, on aura un point d'alerte ?
Je ne suis pas sûr que ça résolve le problème. Le comportement avant la PRC'est de crasher -> l'app ne peut pas fonctionner. La solution adopté dans la PRDéplacer l'erreur dans les logs (ce n'est pas mettre un peu la poussière sous le tapis de log ?) J'aurais plutôt vu, comme solutions :
My 2 cents |
@jdauphant en effet, le 500 d'OVH n'est pas permanent, ça arrive de temps en temps et disparaît dans l'itération suivante. Par contre, je ne suis pas sur que le crash du cron soit souhaitable dans ce cas. Ama, la tâche de cron doit pouvoir échouer gracieusement dans ce cas et logger l'erreur sans que le processus lance une exception non gérée (et par conséquent envoie un email aux admins Scalingo). Sauf erreur de ma part dans le cron du marrainage il y a une approche similaire. Je serais plutôt dans le camp de soit faire de relances ou de mettre en place un système de suivi de logs. On avait discuté d'un Sentry dans #143, ce serait peut être l'occasion de s'y attaquer ? |
On n'a pas le sentry pour le moment, on dépend des rapports de crashs de scalingo. Ça n'aurait pas du être fait en premier ? Une fois mis en place, cette PR fait plus de sens. On pourrait rendre le job plus robuste sur cette erreur en particulier en traitant les erreurs aussi au bon niveau pour le moment. |
Ça marche, on pourra faire des modifs dans cet enroit (ou faire un revert) le temps que Sentry soit en place. Il y a moyen de capturer le Sentry.init({
integrations: [
new CaptureConsole({
levels: ['error']
})
]
}) |
This reverts commit 4549b24.
#372