Retour à la leçonMission
Mission : les emails de facturation perdus lors d'un redémarrage
Corriger un mauvais usage de BackgroundTasks pour une tâche critique et l'utiliser correctement pour une tâche non critique.
Contexte
POST /orders/{id}/invoice de app/routers/orders.py utilise background_tasks.add_task(send_invoice_email, order_id) pour envoyer la facture par email. Le service a redémarré trois fois cette semaine pour des déploiements, et une poignée de clients n'a jamais reçu sa facture, sans qu'aucune erreur n'apparaisse nulle part. Par ailleurs, POST /users bloque encore le client 3 secondes pour un email de bienvenue non critique.