как я могу получить статус предыдущего этапа работы
Мне нужно выполнить проверку предыдущей работы в моем рабочем процессе, прежде чем продолжить следующую работу, поэтому я думаю, что мне нужно получить статус фазы моей предыдущей работы, например
{{workflow.status}}
С этой работы
data-pipeline-mmqvw.exit-handler-1.intentional-fail
Мне нужно получить статус фазы, и мне нужно сделать как попытку, если эта работа не удалась или была успешной, я должен продолжить следующую работу. Как мне это сделать?
Код:
#!/usr/bin/env python3
from typing import NamedTuple
import kfp
from kfp.components import func_to_container_op, InputPath, OutputPath
from kubernetes.client.models import (
V1Volume,
V1SecretVolumeSource,
V1EnvFromSource,
V1EnvVar,
V1EnvVarSource,
V1SecretKeySelector,
V1SecretReference,
)
def curl_container(notify_command: str):
return (
kfp.dsl.ContainerOp(
"show-report",
image="curlimages/curl:latest",
command=["ash", "-c"],
arguments=[f"echo {notify_command}"],
)
)
def container_fail():
return (
kfp.dsl.ContainerOp(
"intentional-fail",
image="alpine:latest",
command=["sh", "-c"],
arguments=["echo intentional failure"],
)
)
@func_to_container_op
def print_data(message: str):
import logging
logging.basicConfig(level=logging.INFO)
print(message)
@kfp.dsl.pipeline(
name='DATA_PIPELINE',
description='get data cdmx'
)
def data_pipeline():
workflow_name = "{{workflow.name}}"
workflow_status = "{{workflow.status}}"
workflow_namespace = "{{workflow.namespace}}"
print_dt = print_data(workflow_status)
with kfp.dsl.ExitHandler(print_dt):
con_fail = container_fail()
curl_coint = curl_container("hola")
curl_coint.after(con_fail)
if __name__ == '__main__':
kfp.compiler.Compiler().compile(data_pipeline, __file__ + '.yaml')