为流水线任务配置重试

您可以通过为该任务配置重试次数来指定流水线任务在失败时是否必须重新运行。您可以设置在任务失败时重试的次数以及后续重试之间的延迟时间。

使用以下代码示例,通过 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