Configurare i tentativi di ripetizione per un'attività della pipeline

Puoi specificare se un'attività della pipeline deve essere eseguita nuovamente in caso di errore configurando i tentativi per l'attività. Puoi impostare il numero di tentativi per eseguire di nuovo l'attività in caso di errore e il ritardo tra i tentativi successivi.

Utilizza il seguente esempio di codice per configurare la policy di errore di un'attività della pipeline denominata train_op utilizzando il metodo set_retry nell'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'
    )

Sostituisci quanto segue:

  • NUMBER_OF_RETRIES: il numero di tentativi di ripetizione dell'attività in caso di errore.

  • BACKOFF_DURATION: (Facoltativo). La durata del tempo di attesa dopo l'errore dell'attività prima di riprovare. Se non imposti questo parametro, la durata è impostata su 0s per impostazione predefinita.

  • BACKOFF_FACTOR: (Facoltativo). Il fattore per cui la durata del backoff viene moltiplicata per ogni nuovo tentativo. Se non imposti questo parametro, il fattore di backoff è impostato su 2.0 per impostazione predefinita.

  • BACKOFF_MAX_DURATION: (Facoltativo). La durata massima del backoff tra i tentativi successivi. Se non imposti questo parametro, la durata massima è impostata su 3600s per impostazione predefinita.