ジョブの理解

ジョブとは、更新のインストールやソフトウェア・ソースのアタッチなど、Autonomous Linuxが1つ以上のインスタンスに対して実行するアクションです。ジョブが実行されると、ジョブの実行に必要な作業が実行され、作業がインスタンスにディスパッチされて、結果がサービスにレポートされます。

ジョブは即時に実行することも、将来の日時のためにスケジュールすることもできます。ジョブの更新などの一部のジョブを繰返しイベントとしてスケジュールしたり、ジョブを自動的に再試行するように設定できます。自動再試行が選択されている場合、最初の実行でジョブが失敗すると、サービスはジョブを5分間隔で最大3回再試行します。スケジュール済ジョブにタグ付けできます。

ジョブ階層

一部のジョブは小さいタスクに分割されます。サービスは、初期ジョブが親で、小さいタスクは子であるジョブ階層を作成します。大規模なジョブまたは複数のインスタンスに影響するジョブの場合、ジョブ内のどのタスクが成功したか、失敗したかを簡単に判断できます。子ジョブは、親ジョブの詳細ページ「関連付けられた作業」セクションで表示できます。

たとえば、「すべて」更新ジョブでは、更新タイプごとに子ジョブが作成されます: セキュリティ、バグ修正、拡張、その他。

--Update All (parent)
  |--Update Security    (child)
  |--Update Bug fix     (child)
  |--Update Enhancement (child)
  |--Update Other       (child)

ジョブは、関連付けられたリソースと同じコンパートメントに存在します。グループに関連付けられたジョブの場合、親ジョブと子ジョブが異なるコンパートメントに存在することを意味します。親ジョブはグループに関連付けられたコンパートメントに存在し、子ジョブは各インスタンスに関連付けられたコンパートメントに存在します。ベスト・プラクティスについては、コンパートメントに関する考慮事項を参照してください。

たとえば、3つのメンバーを持つグループにソフトウェア・ソースを追加すると、3つの子ジョブ(インスタンスごとに1つ)を持つ単一の親ジョブが生成されます。
--Set software sources for dev group (parent in dev compartment)
  |--Set software source Instance 1 (child in dev compartment)
  |--Set software source Instance 2 (child in test compartment)
  |--Set software source Instance 3 (child in preview compartment)

ジョブのステータス

スケジュール済ジョブには、次の情報が表示されます。

  • 次回実行: ジョブが実行される日時。
  • 繰返し: ジョブが繰返しスケジュールに設定されているかどうかを示します。
  • ターゲット: ジョブのターゲット・インスタンスの数を識別します。

ディスパッチ後、ジョブは進行中または完了のいずれかになります。

  • 進行中のジョブは、次の可能なステータス値をレポートします。
    • 受諾済: サービスはジョブを受け入れ、インスタンスの作業の準備ができました。
    • 進行中: エージェントが作業を受け取り、インスタンスで実行しています。
    • 取消中: ジョブは取消中です
  • 完了したジョブは、次の可能なステータス値を報告します。
    • 成功: ジョブはエラーなしで完了しました。
    • 失敗: ジョブは失敗しました。
    • 取消済: ジョブは取り消されました

ジョブ・ログおよびエラー・メッセージを表示して、ジョブの詳細な結果を表示できます。ジョブに階層がある場合、子ジョブが失敗すると、その親ジョブは失敗としてマークされます。

失敗したジョブの再実行

ジョブが失敗した場合は、失敗したアクションを再試行するための新しいジョブを手動で作成するかわりに、失敗ジョブを再実行できます。失敗したジョブをすぐに再実行するか、将来の日時で実行するようにスケジュールできます。再実行すると、同じアクションの新しいジョブが作成されます(更新の適用やソフトウェア・ソースの添付など)。元のジョブとそのステータスは、監査および履歴目的でそのまま残ります。

階層内のジョブの場合、親ジョブを再実行するか、子ジョブを個別に再実行できます。障害が発生した親を再実行すると、サービスは障害が発生した子ジョブのみをターゲットとします。たとえば、10個のインスタンス・グループがあり、3つのインスタンスで更新ジョブが失敗するとします。ジョブ・ログおよびエラー・メッセージを確認し、報告された問題に対処した後、グループの失敗したジョブを再実行できます。再実行では、元の障害が発生した3つのインスタンスのみが対象となります。

制限付きスケジュール済ジョブ

Autonomous Linuxの各インスタンスには、インスタンスを最新の状態に保つために毎日実行される更新タイプが「すべて」の制限されたスケジュール済ジョブがあります。これは自律型更新ジョブと呼ばれます。ジョブが実行される時刻を編集できますが、その頻度を変更したり、ジョブを削除することはできません。