Configure novas tentativas para uma tarefa de pipeline

Pode especificar se uma tarefa do pipeline tem de ser executada novamente se falhar, através da configuração das novas tentativas para essa tarefa. Pode definir o número de tentativas para voltar a executar a tarefa em caso de falha e o atraso entre as tentativas subsequentes.

Use o seguinte código de exemplo para configurar a política de falhas de uma tarefa de pipeline denominada train_op através do método set_retry no SDK 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 o seguinte:

  • NUMBER_OF_RETRIES: o número de vezes que a tarefa deve ser repetida em caso de falha.

  • BACKOFF_DURATION: opcional. A duração do tempo de espera após a falha da tarefa antes de tentar novamente. Se não definir este parâmetro, a duração é definida como 0s por predefinição.

  • BACKOFF_FACTOR: opcional. O fator pelo qual a duração da retirada é multiplicada para cada nova tentativa subsequente. Se não definir este parâmetro, o fator de recuo é definido como 2.0 por predefinição.

  • BACKOFF_MAX_DURATION: opcional. A duração máxima de recuo entre novas tentativas subsequentes. Se não definir este parâmetro, a duração máxima é definida como 3600s por predefinição.