Configurer les tentatives pour une tâche de pipeline

Vous pouvez spécifier si une tâche de pipeline doit être exécutée à nouveau en cas d'échec en configurant les nouvelles tentatives pour cette tâche. Vous pouvez définir le nombre de tentatives d'exécution de la tâche en cas d'échec et le délai entre les nouvelles tentatives.

Utilisez l'exemple de code suivant pour configurer la règle d'échec d'une tâche de pipeline nommée train_op à l'aide de la méthode set_retry dans le 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'
    )

Remplacez les éléments suivants :

  • NUMBER_OF_RETRIES : nombre de tentatives d'exécution de la tâche en cas d'échec.

  • BACKOFF_DURATION : facultatif. Durée d'attente après l'échec de la tâche avant de réessayer. Si vous ne définissez pas ce paramètre, la durée est définie par défaut sur 0s.

  • BACKOFF_FACTOR : facultatif. Facteur par lequel la durée d'intervalle entre les tentatives est multipliée pour chaque nouvelle tentative. Si vous ne définissez pas ce paramètre, le facteur de délai est défini par défaut sur 2.0.

  • BACKOFF_MAX_DURATION : facultatif. Durée maximale d'intervalle entre les nouvelles tentatives. Si vous ne définissez pas ce paramètre, la durée maximale est définie par défaut sur 3600s.