Я создаю навык Alexa, который отправляет запрос на мой веб-сервер, затем веб-сервер выполнит некоторую обработку и загрузит файл в Amazon S3.Во время процесса веб-сервера я продолжаю получать файл из Amazon S3 каждые 10 секунд, пока не получу файл.И ответ основан на содержимом файла.
Но, к сожалению, процесс веб-сервера занимает более 1 минуты.Это означает, что навык должен оставаться более 1 минуты, чтобы получить файл для ответа.
На данный момент я использовал прогрессивный ответ с асинхронным ожиданием в своем коде, и навык продолжал ожидать файл на S3.Но я обнаружил, что навык автоматически отправит второй запрос в Lambda через 50 секунд.Это означает, что для одного и того же навыка я запустил две лямбда-функции одновременно.
И результат выполнения таков: после первого ответа, который поступил с прогрессивным ответом, через 50 секунд будет слышен другой ответ, также поступивший от прогрессивного ответа, который относится ко второму запросу.И ничего не произошло до конца.
Я знаю, что плохо, когда навык ждет так долго, но я все еще хочу выяснить способ выполнения, если навык должен ждать так долго.
ТамЕсть некоторые моменты, которые я хочу выяснить.
- Есть ли какой-либо способ предотвратить умение отправлять вторые запросы в Lambda?
- Есть ли другой способ, которым я могу попытаться достичь цели?
Спасибо