ジョブを継続的に実行する
継続的モードを使用して、ワークロードを継続的に実行するようにスケジュールします。 Databricks では、常にオンのストリーミング ワークロードに継続的モードを使用することが推奨されます。
継続的モードでは、構造化ストリーミング ワークロードに関する従来の推奨事項が置き換えられ、無制限の再試行ポリシーと最大 1 回の同時実行でジョブを構成できます。
重要
ジョブのサーバーレス コンピューティングでは、継続的モードはサポートされていません。
継続的モードで実行するようにジョブを構成する
継続的モードで実行するようにジョブを構成するには、次を実行します。
- サイドバーにある [ワークフロー] をクリックします。
- [ジョブ] タブの [名前] 列で、ジョブ名をクリックします。
- [ジョブの詳細] パネルで [トリガーの追加] をクリックし、[トリガーの種類] で [継続的] を選択して [保存] をクリックします。
継続的ジョブを停止するには、[停止] ボタンをクリックします。 ジョブを継続的モードで再起動するには、[再開] をクリックします。
Note
- 継続的ジョブの実行中のインスタンスは 1 つだけ存在できます。
- 実行が終了してから新しい実行が開始されるまでには、遅延があります。 この遅延は 60 秒未満です。
- 継続的ジョブでタスクの依存関係を使用することはできません。
- 継続的ジョブで再試行ポリシーを使用することはできません。 代わりに、継続的ジョブでは、エクスポネンシャル バックオフを使用してジョブの実行エラーを管理します。
- 一時停止している継続的ジョブで新しいジョブの実行をトリガーするには、[今すぐ実行] を選択します。
- 継続的ジョブで新しいジョブ構成を取得するには、既存の実行をキャンセルします。 新しい実行が自動的に開始されます。 [実行の再開] をクリックして、更新した構成でジョブの実行を再開することもできます。
継続的ジョブのエラーはどのように処理されますか?
Azure Databricks では、エクスポネンシャル バックオフ スキームを使用して、複数の連続障害が発生している継続的ジョブを管理します。 エクスポネンシャル バックオフを使用すると、継続的ジョブを一時停止せずに実行したり、回復可能な障害が発生したときに正常な状態に戻したりすることができます。
継続的ジョブが連続障害の許容しきい値を超えた場合の、後続ジョブの実行の管理方法を次に示します。
- ジョブは、システムによって設定された再試行期間の後に再開されます。
- 次のジョブの実行が失敗すると、再試行期間が長くなり、この新しい再試行期間の後にジョブが再起動されます。
- 後続ジョブの実行が失敗するたびに、再試行期間はシステムによって設定された最大再試行期間まで延長されます。 最大再試行期間に達した後は、ジョブは最大再試行期間を使用して再試行され続けます。 継続的ジョブの再試行回数に制限はありません。
- ジョブの実行が正常に完了して新しい実行を開始した場合、または実行が失敗せずにしきい値を超えた場合、ジョブは正常と見なされ、バックオフ シーケンスがリセットされます。
ジョブ UI で、またはジョブ 2.1 API の POST /api/2.1/jobs/run-now リクエストまたはジョブ 2.0 API の POST /api/2.0/jobs/run-now リクエストにジョブ ID を渡して、エクスポネンシャル バックオフ状態の継続的ジョブを再開できます。