projet dans DevOps Skill Tree

Terminer les tâches de fond après la panne d’un worker Projet

Récupérez de vraies tâches RabbitMQ après interruption et rendez leur répétition sûre grâce aux transactions SQLite.

DevOpsPython

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Terminer les tâches de fond après la panne d’un worker est un projet DevOps pratique pour les personnes capables de lire une petite fonction Python. Aidez Nightjar Print Studio à transformer de vraies inscriptions en billets utilisables et téléchargeables, même si le worker s’arrête entre la réception du message, la validation du travail et l’acquittement.

Un laboratoire guidé présente le parcours client normal, le moment de l’acquittement et l’idempotence transactionnelle. Un défi indépendant associe inscriptions en attente, livraisons répétées, noms identiques et billet existant à préserver. Chaque unité dispose de son propre environnement préparé.

Ce que vous apprendrez

  • Suivre une inscription réelle dans RabbitMQ jusqu’à sa page de billet et son téléchargement.
  • Acquitter après la validation pour permettre la redistribution du travail interrompu.
  • Écrire la clé d’achèvement par ID et le billet dans une même transaction SQLite.
  • Distinguer une livraison répétée de deux inscriptions portant le même nom.
  • Reproduire les fenêtres d’interruption et réparer explicitement des doublons sans réinitialiser les autres participants.

À qui s’adresse ce cours

Ce projet intermédiaire s’adresse aux apprenants DevOps et aux développeurs qui étudient la fiabilité des tâches de fond. Il faut connaître les bases du terminal et savoir lire une fonction Python, son indentation et les accès à un dictionnaire. Un court rappel reprend ces éléments et introduit le SQL et les transactions utilisés ici.

RabbitMQ, Python, SQLite et le site Nightjar complet sont prêts dans votre navigateur. Vous modifiez un petit gestionnaire sans développer le site ni installer de services. Les documents existent en neuf langues ; le site, les libellés et les sorties restent en anglais.

Questions fréquentes

Faut-il un compte externe ou une installation locale ?

Non. Tout utilise des services de formation préparés et des participants fictifs. Aucun paiement, courriel ou envoi externe n’a lieu.

Cela garantit-il un traitement exactement une fois ?

Non. RabbitMQ peut redistribuer un message. La transaction rend la répétition d’un ID sûre pour le résultat billet dans cette base SQLite. Courriels, paiements, panne du broker et haute disponibilité nécessitent une conception supplémentaire.

Que faire si je crée des billets en double ?

Le laboratoire enseigne un aperçu et une réparation explicites limités à un ID, conservant le billet original le plus ancien et les autres participants. L’évaluation ne répare ni ne consomme le travail réel ; elle lit les résultats et teste le gestionnaire dans des cibles jetables isolées.

Enseignant

labby
Labby
Labby is the LabEx teacher.