【发布时间】:2019-08-14 09:59:33
【问题描述】:
我正在尝试创建一个应用程序来使用云功能和云语音 API 转录一些 wav 文件。官方文档显示了如何做到这一点(https://cloud.google.com/speech-to-text/docs/async-recognize)。但是,云函数有处理时间限制(最多 540 秒),一些长 wav 文件可能会超过等待转录 API 的时间。我正在寻找一种恢复方式。
官方文档显示如下代码。 (我正在使用节点进行云功能)
// Detects speech in the audio file. This creates a recognition job that you
// can wait for now, or get its result later.
const [operation] = await client.longRunningRecognize(request);
// Get a Promise representation of the final result of the job
const [response] = await operation.promise();
client.longRunningRecognize() 发送请求并在几秒钟内返回请求信息,而 operation.promise() 等待转录 API 完成。但是,对于大文件,可能需要超过 540 秒,并且该进程可能会在此行被终止。所以我想以某种方式在另一个进程中使用“操作”对象恢复处理。我尝试将“操作”对象序列化为文件并在之后加载它,但它不能包含函数并且 operation.promise() 丢失。我该如何解决这个问题?
【问题讨论】:
标签: javascript google-cloud-platform google-cloud-functions google-speech-api