Google语音API超时时间
Google speech API timeout time
我正在尝试使用语音 API 客户端 API 将音频文件转换为文本。
到目前为止,我已经成功地转换了一个较短的音频剪辑,但是现在使用更长的文件(10 分钟)我得到了这个错误:
Retry total timeout exceeded before anyresponse was received
我在 docs 中读到,异步调用的最大分钟数是每次调用 60 分钟,我已将文件上传到 Google 云存储,因为文件需要它超过 1 分钟。
所以我真的不明白为什么我会收到那个错误,有什么帮助吗?
默认情况下系统超时为 10 分钟。
This is a known issue for other Google Cloud services,但建议的修复对我不起作用,我认为当您 运行 您的代码并开始连接时需要设置其他内容。
无论如何,有一个解决方法!你得到了长长的 运行ning 操作名称,然后你停止了你的程序。会在google服务器上继续操作,稍后你会去取结果!
Asynchronous Speech Recognition starts a long running audio processing operation.
我将在此处参考 node.js
示例,类似的概念将适用于其他人。
所以,当你得到你的回应时(不要使用承诺版本)传递给它一个回调,like explained here,而不是
operation
.on('error', function(err) {})
.on('complete', function(transcript) {
// transcript = "how old is the Brooklyn Bridge"
});
就做类似的事
console.log(operation)
记下操作名称,稍后使用the operation method
没有找到合适的方法设置超时时间大于10分钟,所以直接修改了node_modules/google-gax/lib/longrunning.js
。
有一个名为 backoffSettings
的变量保存超时值,它是对 node_modules/google-gax/lib/gax.js
中函数 createBackoffSettings
的调用。
在我修改那个变量之前它是这样的:
backoffSettings =
createBackoffSettings(100, 1.3, 60000, null, null, null, 600000);
我将其更改为处理 1 小时超时:
backoffSettings =
createBackoffSettings(100, 1.3, 60000, null, null, null, 3600000);
createBackoffSettings
函数调用的最后一个参数是 totalTimeoutMillis
,如您所见,默认为 10 分钟。
如果有人知道更好的处理方法,请分享。
希望对你有帮助。
对于遇到此问题的任何其他人,Google 现在已通过删除超时值修复了此错误。参见 https://github.com/googleapis/gax-nodejs/pull/140/files
在更新到最新的 google-gax npm 包后,我的演讲 api 请求现在可以成功运行。
我正在尝试使用语音 API 客户端 API 将音频文件转换为文本。
到目前为止,我已经成功地转换了一个较短的音频剪辑,但是现在使用更长的文件(10 分钟)我得到了这个错误:
Retry total timeout exceeded before anyresponse was received
我在 docs 中读到,异步调用的最大分钟数是每次调用 60 分钟,我已将文件上传到 Google 云存储,因为文件需要它超过 1 分钟。
所以我真的不明白为什么我会收到那个错误,有什么帮助吗?
默认情况下系统超时为 10 分钟。 This is a known issue for other Google Cloud services,但建议的修复对我不起作用,我认为当您 运行 您的代码并开始连接时需要设置其他内容。
无论如何,有一个解决方法!你得到了长长的 运行ning 操作名称,然后你停止了你的程序。会在google服务器上继续操作,稍后你会去取结果!
Asynchronous Speech Recognition starts a long running audio processing operation.
我将在此处参考 node.js
示例,类似的概念将适用于其他人。
所以,当你得到你的回应时(不要使用承诺版本)传递给它一个回调,like explained here,而不是
operation
.on('error', function(err) {})
.on('complete', function(transcript) {
// transcript = "how old is the Brooklyn Bridge"
});
就做类似的事
console.log(operation)
记下操作名称,稍后使用the operation method
没有找到合适的方法设置超时时间大于10分钟,所以直接修改了node_modules/google-gax/lib/longrunning.js
。
有一个名为 backoffSettings
的变量保存超时值,它是对 node_modules/google-gax/lib/gax.js
中函数 createBackoffSettings
的调用。
在我修改那个变量之前它是这样的:
backoffSettings =
createBackoffSettings(100, 1.3, 60000, null, null, null, 600000);
我将其更改为处理 1 小时超时:
backoffSettings =
createBackoffSettings(100, 1.3, 60000, null, null, null, 3600000);
createBackoffSettings
函数调用的最后一个参数是 totalTimeoutMillis
,如您所见,默认为 10 分钟。
如果有人知道更好的处理方法,请分享。 希望对你有帮助。
对于遇到此问题的任何其他人,Google 现在已通过删除超时值修复了此错误。参见 https://github.com/googleapis/gax-nodejs/pull/140/files 在更新到最新的 google-gax npm 包后,我的演讲 api 请求现在可以成功运行。