태스크의 재시도를 구성하여 파이프라인 태스크가 실패할 경우 재실행해야 하는지 지정할 수 있습니다. 실패 시 태스크를 다시 실행하는 시도 횟수와 후속 재시도 사이의 지연 시간을 설정할 수 있습니다.
다음 코드 샘플을 사용하여 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
로 설정됩니다.