É 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.