我创建了一个 App Engine 服务来对视频文件和图像进行转码。 视频文件可能很大,因此需要更长的处理时间。 云任务似乎非常适合,但我的前端客户端需要在执行期间监控任务。
例如,如果用户上传视频文件,我希望让客户了解他们的上传进度。我在文档中看不到任何显示如何从主动执行的任务(或我可以将这些更新发送到的 API)请求此信息的任何地方。 我目前的实现使用 Web 套接字来中继此信息,但是,如果许多客户端开始上传视频,这似乎不可扩展。 我的想法是将任务状态存储在 NoSQL 数据库中,并在上传视频文件时将数据库任务 ID 返回给客户端。 然后,我只会轮询数据库以获取更新。
这是正确的还是有更好的方法?
这种方法来自不同的角度,但我的建议是移动棋盘上可能较少的部分。
如果您已经开发了 nodeJS 应用程序来执行视频操作,请使用通知系统或 Service Worker 等工具完成这些操作。 https://www.youtube.com/watch?v=HlYFW2zaYQM
同时,您可以使用 PubSub 并制作一个关于通知/事件的完整环:
"摄取任何规模的事件">
数据引入是分析和机器学习的基础,无论是构建流、批处理还是统一管道。Cloud Pub/Sub 为您的事件数据在处理、存储和分析的过程中提供简单可靠的暂存位置。