【发布时间】:2022-06-10 21:31:50
【问题描述】:
以前,使用 Kubeflow Pipelines SDK v1,可以在管道执行期间通过将 Argo 占位符 {{workflow.status}} 传递给组件来推断管道的状态,如下所示:
import kfp.dsl as dsl
component_1 = dsl.ContainerOp(
name='An example component',
image='eu.gcr.io/.../my-component-img',
arguments=[
'python3', 'main.py',
'--status', "{{workflow.status}}"
]
)
当传递给组件时,此占位符将采用值 Succeeded 或 Failed。一个用例是向例如发送失败警告。 Slack,结合dsl.ExitHandler。
但是,当使用 Pipeline SDK 版本 2 kfp.v2 与 Vertex AI 一起编译和运行管道时,Argo 占位符不再起作用,如 this open issue 所述。因此,我需要另一种方法来检查组件内管道的状态。我在想我可以使用kfp.Clientclass,但我假设这不会使用 Vertex AI,因为真的没有“主机”。此外,根据this SO post,似乎支持将运行ID (dsl.PIPELINE_JOB_ID_PLACEHOLDER) 作为占位符传递的占位符,但我在status 周围找不到任何东西。
任何想法如何获取在组件内运行的管道状态,在 Vertex AI 上运行?
【问题讨论】:
-
目前没有选项可以获取在 Vertex AI 上运行的管道状态。包含占位符以获取管道的作业状态存在一个持续存在的问题,您可以在此issue tracker 上关注其进度,您可以通过引用此@987654325 来“明星”该问题以接收自动更新并给予其牵引力@.
标签: google-cloud-vertex-ai kubeflow-pipelines argoproj kfp