我刚刚实现了云运行来为我的移动应用程序处理/编码视频。我最近收到一个未知的 503 错误:POST 503 Google-Cloud-Tasks: The request failed because the HTTP connection to the instance had an error.
当用户将视频上传到云存储时,我的流程开始,然后触发一个函数并将视频源路径发送到云任务以排队进行编码。最后,cloud run 下载视频,通过 ffmpeg 对其进行处理,并将所有内容上传到单独的存储桶(所有下载的临时文件都被删除)。
我知道视频编码是一项 cpu 繁重的任务,但我的应用程序只允许编码最多约 3 分钟的视频(通常约为 100 MB)。它适用于较短的视频,但较长的视频503
在处理 2 分钟以上后会标记错误
我的实例仅用于视频编码,仅允许 1 个并发请求/实例。这是我的服务设置:
- 中央处理器- 2 个中央处理器
- 内存- 2 Gb
- 并发- 1
- 请求超时- 900 秒(15 分钟)
文档指出这是因为繁重的 cpu 任务,所以很明显它是由处理较重的文件引起的,但我不确定在给定最大设置的情况下我能做些什么来解决这个问题。是否可以在 CPU 上设置一个上限以使其不会过火?还是云运行不是此类任务的好解决方案?