ジョブの理解

ジョブとは、更新のインストールやソフトウェア・ソースのアタッチなど、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)

ジョブのステータス

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

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

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

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

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

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