我们的脚本编写团队已经使用Youtube API构建了一个脚本来上传视频。大约有8-10个用户可以同时使用API上传视频。
用户随机遇到一个错误。表示上传视频失败。
com.google.api.client.googleapis.json.GoogleJsonResponseException: 503服务不可用
{
"code" : 503,
"errors" : [ {
"domain" : "global",
"message" : "Backend Error",
"reason" : "backendError"
} ],
"message" : "Backend Error"
}
"ERROR VideoEntityManagerImpl:? - Video not Uploaded to youtube
INFO LoggingOutInterceptor:? - Outbound Message"他们重试了,视频上传成功。
这里有一个转折:在第二次上传成功后,他们会在Youtube上收到一条通知,说有重复的视频。
这是一个令人担忧的问题,因为我们正在生产中,之前一切都很好。我们上周遇到了这个问题。
有没有办法获取更多的日志,以便更好地理解这个问题?可以做些什么来消除这种情况?
发布于 2016-07-08 22:02:14
这种情况偶尔会发生。这很可能发生在后端服务器太忙的时候。看起来您的上载脚本可能没有使用ResumableUpload类功能来恢复失败的上载。可能您使用的API版本不包含ResumableUpload类。使用ResumableUpload类,当收到后端服务器错误时,可以从故障点恢复上载。在GitHub上的google/google-api-dotnet-client-samples存储库中,有两个.NET示例展示了如何使用ResumableUpload类的.UploadAsync和.ResumeAsync方法。虽然这些示例都是.NET,但您应该能够从中学到足够的东西来增强您的脚本,以便在遇到后端服务器错误时能够继续运行。昨晚,我上传了三个30分钟的视频,在此期间,我的应用程序执行了几次.ResumeAsync方法调用,以便在后端服务器错误后成功恢复。
如果您希望使用同步调用,还可以使用.Upload和.Resume方法。
来自HTTP状态码文档: 503 = HTTP_STATUS_SERVICE_UNAVAIL -服务暂时过载。
https://stackoverflow.com/questions/38242841
复制相似问题