Node.js 谷歌语音API超时时间
我试图使用语音API客户端API将音频文件转换为文本 到目前为止,我已经成功地转换了一个简短的音频剪辑,但现在使用更长的文件(10分钟),我遇到了以下错误:Node.js 谷歌语音API超时时间,node.js,timeout,google-speech-api,google-cloud-speech,Node.js,Timeout,Google Speech Api,Google Cloud Speech,我试图使用语音API客户端API将音频文件转换为文本 到目前为止,我已经成功地转换了一个简短的音频剪辑,但现在使用更长的文件(10分钟),我遇到了以下错误: Retry total timeout exceeded before anyresponse was received 我在文章中读到,对于异步调用,每次调用的最大分钟数是60分钟,我已经将该文件上载到Google云存储,因为超过1分钟的文件需要它 所以我真的不明白为什么会出现这样的错误,有什么帮助吗?默认情况下,系统超时时间为10分钟
Retry total timeout exceeded before anyresponse was received
我在文章中读到,对于异步调用,每次调用的最大分钟数是60分钟,我已经将该文件上载到Google云存储,因为超过1分钟的文件需要它
所以我真的不明白为什么会出现这样的错误,有什么帮助吗?默认情况下,系统超时时间为10分钟。 ,但修复程序表明这对我不起作用,我认为这是在运行代码和启动连接时需要设置的其他内容 无论如何,有一个解决办法!获取长时间运行的操作名,然后停止程序。操作将在google服务器上继续,稍后您将获取结果 异步语音识别启动长时间运行的音频处理操作 这里我将参考
node.js
示例,类似的概念也适用于其他示例。
因此,当您得到响应时(不要使用promise版本),将回调传递给它,而不是
operation
.on('error', function(err) {})
.on('complete', function(transcript) {
// transcript = "how old is the Brooklyn Bridge"
});
做点像
console.log(operation)
记下操作名称,以后再使用
我没有找到合适的方法将超时时间设置为10分钟以上,所以我直接修改了
node\u modules/google gax/lib/longlunning.js
。
有一个名为backoffsetings
的变量保存超时值,它是对node\u modules/google gax/lib/gax.js
中的函数createbackoffsetings
的调用。
在修改该变量之前,它是这样的:
backoffSettings =
createBackoffSettings(100, 1.3, 60000, null, null, null, 600000);
我将其更改为处理1小时超时:
backoffSettings =
createBackoffSettings(100, 1.3, 60000, null, null, null, 3600000);
createbackoffsetings
函数调用中的最后一个参数是totalTimeoutMillis
,如您所见,默认值为10分钟
如果有人知道更好的处理方法,请分享。
希望能有所帮助。对于其他有此问题的人,谷歌现在通过删除超时值修复了此错误。看见 My speech api请求在更新到最新的google gax npm包后现在可以成功运行