次の方法で共有


Batch ジョブのスケジュールによる効率化

Batch ジョブをスケジュールすると、タスクの依存関係を考慮しながら、最初に実行するジョブの優先順位を設定できます。 また、使用するリソース量を最小限に抑えることもできます。 不要になったノードは使用を停止できます。また、他のタスクに依存するタスクは、ワークフローを最適化するのに適切なタイミングでスピンアップされます。 一度に 1 つのジョブしか実行されないため、ジョブは自動完了するように設定でき、新しいジョブは前のジョブが完了するまで開始されません。

ジョブ マネージャー タスクを使用してスケジュールするタスクは、ジョブに関連付けられます。 ジョブ マネージャー タスクによって、ジョブのタスクが作成されます。 これを行うには、ジョブ マネージャー タスクが Batch アカウントを使用して認証を行う必要があります。 AZ_BATCH_AUTHENTICATION_TOKEN アクセス トークンを使用します。 このトークンにより、ジョブの残りの部分へのアクセスが可能になります。

Azure CLI を使用してジョブを管理するには、「az batch job-schedule」を参照してください。 また、Azure portal でジョブ スケジュールを作成することもできます。

Azure portal でジョブをスケジュールする

  1. Azure portal にサインインします。

  2. ジョブのスケジュールを設定する Batch アカウントを選択します。

  3. 左側のナビゲーション ウィンドウで、 [ジョブ スケジュール] を選択します。

  4. [追加] を選択して新しいジョブ スケジュールを作成します。

    ジョブ スケジュールの [追加] ボタンのスクリーンショット。

  5. [基本フォーム] で、次の情報を入力します。

    • [ジョブ スケジュール ID] : このジョブ スケジュールの一意識別子。

    • [表示名] : この名前は省略可能であり、一意である必要はありません。 その最大長は 1024 文字です。

      ジョブ スケジュール オプションの [基本フォーム] セクションのスクリーンショット。

  6. [スケジュール] セクションで、次の情報を入力します。

    • [次の時刻までは実行しない] : ジョブが実行される最も早い時刻を指定します。 これを設定しない場合、ジョブをすぐに実行できるようになります。

    • [次の時刻の後には実行しない] : ここで入力した時刻の後にジョブは実行されません。 時刻を指定しない場合は、繰り返しのジョブ スケジュールが作成されます。これは、明示的に終了するまでアクティブなままになります。

    • [繰り返し間隔] : ジョブ間の時間を指定する場合は [有効] を選択します。 一度にスケジュールできるジョブは 1 つだけであるため、ジョブ スケジュールに従って新しいジョブを作成する時間になっても、前のジョブがまだ実行中の場合は、Batch サービスは前のジョブが完了するまで新しいジョブを作成しません。

    • [開始時間帯] : ジョブを作成する必要がある時間間隔を指定する場合は [カスタム] を選択します。 この時間帯にジョブが作成されない場合、新しいジョブはスケジュールの次の繰り返しまで作成されません。

      ジョブ スケジュール オプションの [スケジュール] セクションのスクリーンショット。

  7. [ジョブの指定] セクションで、次の情報を入力します。

    • [プール ID]: ジョブを実行するプールを選択します。 Batch アカウントのプールの一覧から選択するには、 [更新] を選択します。

    • [ジョブ構成タスク]: ジョブ マネージャー タスク、ジョブの準備タスク、ジョブのリリース タスク (これらを使用する場合) に名前を付けて構成するには、[更新] を選択します。

      新しいジョブ スケジュールのジョブの指定オプションのスクリーンショット。

  8. [詳細設定] セクションで、次の情報を入力します。

    • [表示名] : この名前は省略可能であり、一意である必要はありません。 その最大長は 1024 文字です。

    • [優先順位] : スライダーを使用してジョブの優先順位を設定するか、またはボックスに値を入力します。

    • [最大実時間] : 実行するジョブの最長時間を設定する場合は [カスタム] を選択します。 それを行った場合、その期間内に完了しないと Batch はそのジョブを終了します。

    • [タスクの最大再試行回数] : タスクを再試行できる回数を指定する場合は [カスタム] を、タスクを必要な回数だけ試行する場合は [無制限] を選択します。 これは、API 呼び出しの再試行回数と同じではありません。

    • [すべてのタスクが完了したとき]: 既定値は NoAction ですが、すべてのタスクが完了したとき (または、ジョブにタスクがない場合) にジョブを終了する場合は、TerminateJob を選択できます。

    • [タスクが失敗したとき]: 再試行回数の上限に達するか、またはタスクの開始時にエラーが発生した場合、タスクは失敗します。 既定値は NoAction ですが、タスクが失敗した場合にその終了条件に関連付けられているアクションを実行する場合は、PerformExitOptionsJobAction を選択できます。

      新しいジョブ スケジュールの [詳細設定] のスクリーンショット。

  9. [保存] を選択してジョブ スケジュールを作成します。

ジョブの実行を追跡するには、 [ジョブ スケジュール] に戻り、ジョブ スケジュールを選択します。 [実行情報] を展開すると、詳細が表示されます。 また、この画面からジョブ スケジュールを終了または削除したり、無効にしたりすることもできます。

次のステップ