首页 > 解决方案 > 如何知道批量云预测何时结束

问题描述

我正在做一个应用程序,它接收一些数据,对其进行处理,然后创建一个预测 AI 批处理作业。预测完成后,我应该把它们全部拿走并将它们与以前的文件合并。批量预测写入存储桶,我们称之为 is gs://predictions

目前,我有一个云功能,只要gs://predictions写入就会触发。但是,批量预测作业将数据流式传输到文件中,当需要进行大量预测时,会多次更新此类文件。这意味着当我只想在作业完成时调用它时,我的云函数会被触发很多次。

为了克服这个问题,现在调用云函数,然后检查作业是否完成。如果是,则处理文件;如果没有,让它滑动。当然,这会带来很多不必要的处理(和不必要的代码!):-(

在这里真正对我有什么帮助:批处理作业完成后能否以某种方式写入 Pub/Sub?或者更好的是,它可以使用 webhook 以便在完成后自己调用我的云函数吗?我试图查看文档,但找不到任何东西。

有没有其他建议的解决方案?

标签: google-cloud-platformgcp-ai-platform-notebookgcp-ai-platform-training

解决方案


您可以在 PubSub 中创建一个日志接收器并在此自定义过滤器上过滤日志:

resource.type="ml_job"
textPayload="Job completed successfully."

然后,当批处理作业完成时,会打印日志跟踪并将消息发布到 PubSub 主题中。


推荐阅读