如何知晓Google Cloud Function何时完成图像处理任务?
检测Google Cloud Function图片处理任务完成的简便方法
以下是几种实用的方案,帮你判断图片缩放处理何时完成:
对象存在性检查
网站端在加载缩放图前,对目标存储桶中的对应文件发起HEAD请求。若返回200状态码,说明文件已上传完成,可正常渲染;若返回404,则显示占位图或隔几秒重试(考虑Cloud Storage的最终一致性特性,短暂延迟是正常的)。添加处理完成标记
在Cloud Function中,等所有尺寸的图片都上传到目标桶后,写入一个特殊的标记文件(比如{原始图片名}.processed)。网站端先检查这个标记文件是否存在,确认存在后再加载对应缩放图。也可以把处理状态写入Firestore或Realtime Database,用原始文件名作为键,状态设为completed,网站端监听状态变化即可。Pub/Sub完成通知
修改Cloud Function,在处理流程全部结束后,向指定的Pub/Sub主题发送包含原始文件名的消息。网站客户端通过合法权限订阅该主题,收到消息后立即触发图片渲染逻辑,无需轮询。回调接口通知
如果你的网站有后端服务,可以在Cloud Function处理完成后,调用网站的回调接口,传递原始文件名和处理完成的状态。后端收到通知后更新对应图片的可访问状态,前端再从后端获取状态判断是否渲染。
内容的提问来源于stack exchange,提问作者Zachary Wright
相关产品推荐
相关产品推荐

