プロジェクト の DevOps スキルツリー

ワーカー障害後にバックグラウンドジョブを完了する プロジェクト

実際の RabbitMQ 出票ジョブを中断から復旧し、SQLite トランザクションで繰り返し処理を安全にします。

DevOpsPython

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

ワーカー障害後にバックグラウンドジョブを完了するは、短い Python 関数を読める学習者向けの DevOps 実践コースです。Nightjar Print Studio の実際の参加登録を、利用・ダウンロードできる入場券に変えます。メッセージ受信、処理のコミット、配信確認の間でワーカーが停止する場合を扱います。

1 つのガイド付きラボで通常の顧客操作、確認のタイミング、トランザクション内の冪等性を学びます。1 つの独立したチャレンジでは未処理の登録、重複配信、同名の参加者、保持すべき既存券を組み合わせます。各単元は独自の準備済み環境で開始します。

学習内容

  • 実際の登録を RabbitMQ から入場券ページとダウンロードまで追う。
  • データベースのコミット後に確認し、中断した処理を再配信可能にする。
  • ID の完了キーと入場券を同じ SQLite トランザクションに書く。
  • 重複配信と同名で別 ID の登録を区別する。
  • 中断の境界を再現し、他の参加者をリセットせずに重複券を明示的に修復する。

このコースの対象者

バックグラウンド処理の信頼性を学ぶ DevOps 学習者やアプリ開発者向けの中級プロジェクトです。基本的な端末操作と、Python 関数、インデント、辞書参照を読む能力が必要です。短い橋渡し説明で構文を復習し、使用する SQL とトランザクションを紹介します。

RabbitMQ、Python、SQLite、完全な Nightjar サイトはブラウザーに用意されています。小さなハンドラーだけを変更し、サイト開発やサービスのインストールは行いません。文書は 9 言語に対応し、実行サイト、ラベル、コマンド出力は英語のままです。

よくある質問

外部アカウントやローカルへのインストールは必要ですか。

不要です。準備済みの練習サービスと架空の参加者を使います。支払い、メール、外部配信はありません。

厳密に一度だけの処理を保証しますか。

いいえ。RabbitMQ は再配信できます。トランザクションはこの SQLite データベース内の入場券結果について同じ ID の再処理を安全にします。外部メール、支払い、broker 障害、本番の高可用性には追加の設計が必要です。

学習中に重複券を作ったらどうしますか。

ラボでは ID ごとの明示的なプレビューと修復を学びます。最初の原券と他の参加者は保持されます。採点は実環境の処理を修復・消費せず、顧客結果を読み、隔離した使い捨て対象でハンドラーを試験します。

講師

labby
Labby
Labby is the LabEx teacher.