Cloud Function 有没有办法处理长时间运行的操作?

Fis*_*ark 8 vision google-cloud-platform google-cloud-functions

如果我想使用 GCP Cloud Function 使用 VISION API (Python3) 自动(也并行化)图像识别,但 CF 有 9 分钟持续时间的硬限制。如果图像很大,并且需要很长时间才能识别(超过 9 分钟)怎么办?有什么建议?

Fri*_*ush 0

Cloud Vision API 提供API 调用的异步版本,它将返回作业的操作 ID。

我会创建两个云函数来处理这种情况。主要函数将启动异步操作,响应代码应与您是否能够启动作业相匹配,正文包含您想要的任何详细信息以及要跟进的操作ID。

第二个函数将接受操作 ID 并检查当前状态,如果操作已完成则返回结果。该函数是在内部轮询一段时间还是仅进行快速检查并立即响应取决于您以及您希望流程如何工作。我可能会让前端显示一个“正在处理”图标,并每隔 10 秒左右检查一次,并立即做出响应。