Puedes especificar si una tarea de canalización debe volver a ejecutarse si falla. Para ello, configura los reintentos de esa tarea. Puedes establecer la cantidad de intentos para volver a ejecutar la tarea en caso de falla y la demora entre los reintentos posteriores.
Usa la siguiente muestra de código para configurar la política de fallas de una tarea de canalización llamada train_op
con el método set_retry
del SDK de 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'
)
Reemplaza lo siguiente:
NUMBER_OF_RETRIES: Es la cantidad de veces que se debe reintentar la tarea en caso de falla.
BACKOFF_DURATION: Opcional Es la duración del tiempo de espera después de que falla la tarea antes de reintentar. Si no estableces este parámetro, la duración se establece en
0s
de forma predeterminada.BACKOFF_FACTOR: Opcional Es el factor por el que se multiplica la duración de la retirada para cada reintento posterior. Si no estableces este parámetro, el factor de retirada se establece en
2.0
de forma predeterminada.BACKOFF_MAX_DURATION: Opcional Es la duración máxima de la retirada entre reintentos posteriores. Si no estableces este parámetro, la duración máxima se establece en
3600s
de forma predeterminada.