パイプライン タスクの再試行を構成する

パイプライン タスクの再試行を構成することで、タスクが失敗した場合に再実行する必要があるかどうかを指定できます。失敗したタスクを再実行する試行回数と、連続する再試行間の遅延を設定できます。

次のコードサンプルでは、Kubeflow Pipelines SDK の set_retry メソッドを使用して、train_op という名前のパイプライン タスクの失敗ポリシーを構成します。

from kfp import dsl

@dsl.pipeline(name='custom-container-pipeline')
def pipeline():
  generate = generate_op()
  train = (
    train_op(
      training_data=generate.outputs['training_data'],
      test_data=generate.outputs['test_data'],
      config_file=generate.outputs['config_file'])
    .set_retry(
      num_retries=NUMBER_OF_RETRIES,
      backoff_duration='BACKOFF_DURATION',
      backoff_factor=BACKOFF_FACTOR,
      backoff_maxk_duration='BACKOFF_MAX_DURATION'
    )

次のように置き換えます。

  • NUMBER_OF_RETRIES: 失敗したときにタスクを再試行する回数。

  • BACKOFF_DURATION: 省略可。タスクが失敗してから再試行するまでの待機時間。このパラメータを設定しない場合、デフォルトで待機時間は 0s に設定されます。

  • BACKOFF_FACTOR: 省略可。再試行のたびにバックオフ時間に掛ける係数。このパラメータを設定しない場合、デフォルトでバックオフ係数は 2.0 に設定されます。

  • BACKOFF_MAX_DURATION: 省略可。連続する再試行間の最大バックオフ時間。このパラメータを設定しない場合、デフォルトで最大時間は 3600s に設定されます。