Envoyer les notifications d'annulation d'un rendez-vous, même s'il a été supprimé avant l'envoi
Created by: n-b
Nous utilisons delayed_job
pour envoyer nos notifications.
Beaucoup de notification sont construite à partir d'un ID passé en paramètre du job. C'est plus simple à sérialiser.
Si un rendez-vous est annulé ; Une notification d'annulation est créée dans la pile des jobs ; Si le rendez-vous est supprimé avant l'exécution du job ; le job va générer une erreur, car il ne retrouvera pas le rendez-vous.
Il serait nécessaire, dans le cas du job de notification d'annulation de rendez-vous, de travailler avec un payload
sérialisé dans le job plutôt qu'un ID de rendez-vous (voir les plages d'ouvertures qui fonctionne déjà comme ça).
Bonus :
D'une manière générale, il serait préférable de passer les informations nécessaires au delayed_job
dans un payload sérialisé plutôt qu'un ID qui risque de ne plus exister au moment de l'exécution du job.
Le texte original de ce ticket
C’est des SendTransactionalSmsJob
et des ActionMailer::MailDeliveryJob
liés à l’annulation d’un Rdv. Ce qui se passe, c’est que le Rdv est annulé et immédiatement supprimé; j’ai pu retrouver les traces de Rdv supprimés au même moment dans PaperTrail.
Il faudrait peut-être faire du soft-delete des Rdv; voir aussi #1043 (closed).
Par ailleurs, ces bugs ne remontent pas dans Sentry. (voir #1026 (closed))