Я пытаюсь создать приложение для расшифровки некоторых файлов wav с использованием облачных функций и облачного речевого API. В официальном документе показано, как это сделать (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' в файл и затем загрузить его, но он не может включать функции и operation.promise () теряется. Как я могу решить эту проблему?