Mengonfigurasi percobaan ulang untuk tugas pipeline

Anda dapat menentukan apakah tugas pipeline harus dijalankan ulang jika gagal, dengan mengonfigurasi percobaan ulang untuk tugas tersebut. Anda dapat menetapkan jumlah upaya untuk menjalankan ulang tugas saat gagal dan penundaan antar-percobaan ulang berikutnya.

Gunakan contoh kode berikut untuk mengonfigurasi kebijakan kegagalan tugas pipeline yang bernama train_op menggunakan metode set_retry di Kubeflow Pipelines SDK:

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'
    )

Ganti kode berikut:

  • NUMBER_OF_RETRIES: Frekuensi percobaan ulang tugas setelah gagal.

  • BACKOFF_DURATION: Opsional. Durasi waktu tunggu setelah tugas gagal sebelum mencoba lagi. Jika Anda tidak menetapkan parameter ini, durasi akan ditetapkan ke 0s secara default.

  • BACKOFF_FACTOR: Opsional. Faktor yang digunakan untuk mengalikan durasi backoff untuk setiap percobaan ulang berikutnya. Jika Anda tidak menetapkan parameter ini, faktor backoff akan ditetapkan ke 2.0 secara default.

  • BACKOFF_MAX_DURATION: Opsional. Durasi backoff maksimum di antara percobaan ulang berikutnya. Jika Anda tidak menetapkan parameter ini, durasi maksimum akan ditetapkan ke 3600s secara default.