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.