파이프라인 태스크가 실패할 경우 해당 태스크의 재시도를 구성하여 재실행해야 하는지 여부를 지정할 수 있습니다. 실패 시 태스크를 재실행하는 시도 횟수와 후속 재시도 사이의 지연을 설정할 수 있습니다.
Kubeflow Pipelines SDK의 set_retry
메서드를 사용하여 train_op
라는 파이프라인 태스크의 실패 정책을 구성하려면 다음 코드 샘플을 사용합니다.
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'
)
다음을 바꿉니다.
NUMBER_OF_RETRIES: 실패 시 태스크를 재시도할 횟수입니다.
BACKOFF_DURATION: (선택사항) 태스크가 실패한 후 재시도하기 전에 대기하는 기간입니다. 이 매개변수를 설정하지 않으면 기간은 기본적으로
0s
로 설정됩니다.BACKOFF_FACTOR: (선택사항) 후속 재시도마다 백오프 기간에 곱하는 계수입니다. 이 매개변수를 설정하지 않으면 백오프 계수는 기본적으로
2.0
으로 설정됩니다.BACKOFF_MAX_DURATION: (선택사항) 후속 재시도 사이의 최대 백오프 시간입니다. 이 매개변수를 설정하지 않으면 최대 기간은 기본적으로
3600s
로 설정됩니다.