Configurar novas tentativas para uma tarefa de pipeline

É possível especificar se uma tarefa de pipeline precisa ser executada novamente em caso de falha configurando novas tentativas para ela. É possível definir o número de tentativas de realização da tarefa em caso de falha e o atraso entre as novas tentativas.

Use o exemplo de código abaixo para configurar a política de falha de uma tarefa de pipeline chamada train_op usando o método set_retry no SDK do Kubeflow Pipelines:

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'
    )

Substitua:

  • NUMBER_OF_RETRIES: o número de novas tentativas de realização da tarefa em caso de falha.

  • BACKOFF_DURATION: opcional. A duração do tempo de espera depois da falha na tarefa antes de tentar novamente. Se você não definir esse parâmetro, a duração será definida como 0s por padrão.

  • BACKOFF_FACTOR: opcional. O fator pelo qual a duração da espera é multiplicada para cada nova tentativa. Se você não definir esse parâmetro, o fator de espera será definido como 2.0 por padrão.

  • BACKOFF_MAX_DURATION: opcional. A duração máxima de espera entre novas tentativas. Se você não definir esse parâmetro, a duração máxima será definida como 3600s por padrão.