為管道工作設定重試

您可以為管道工作設定重試次數,指定工作失敗時是否必須重新執行。您可以設定工作失敗時的重試次數,以及後續重試之間的延遲時間。

使用下列程式碼範例,透過 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