Функция таймера с использованием функций Twilio

Можно ли создать таймер, который выполняет обратный вызов через 5 минут? В документации есть 5-секундный предел выполнения, после которого все сбрасывается. Любое обходное решение?


person X10D    schedule 14.03.2019    source источник


Ответы (1)


Евангелист разработчиков Twilio здесь.

Функции Twilio имеют ограничение на выполнение в 5 секунд и не предлагают какого-либо планировщика. Не существует обходного пути, кроме использования другой платформы для планирования заданий.

person philnash    schedule 14.03.2019
comment
Как насчет функции, которая вызывает себя каждые 4 секунды? - person X10D; 14.03.2019
comment
Это не та идея, которую я бы рекомендовал. - person philnash; 14.03.2019
comment
Как можно попросить Twilio предоставить такую ​​функциональность? Поскольку функции Twilio используют node.js с неблокирующими асинхронными таймерами: nodejs.org/api/timers. html Казалось бы, они не будут использовать много ресурсов. - person X10D; 17.03.2019
comment
Функции используют Node, но они построены на существующих платформах вычислений как услуг, которые имеют ограничения на то, как долго функция может работать, а также взимать плату за время использования функции (даже если она простаивает, ожидая, что что-то произойдет). В настоящее время функции Twilio — это простой способ запуска сценариев Node в среде, управляемой Twilio. Если вам нужно больше, я рекомендую рассмотреть предложения более крупных вычислительных платформ, таких как AWS, GCP или Azure, поскольку они смогут это сделать. - person philnash; 18.03.2019
comment
Как насчет использования: twilio.com/docs/voice/twiml/pause Whats максимальное количество секунд для глагола паузы? - person X10D; 20.03.2019
comment
Использование <Pause> вставляет паузу в поток вызова. Однако вам все равно придется возвращать TwiML в течение 5 секунд из функции. <Pause> должен быть меньше тайм-аута RTP, равного 60 секундам, и практически меньше 50 секунд. <Pause> не рассчитан на длинные паузы, потому что это было бы странно для человека на другом конце провода. - person philnash; 20.03.2019
comment
Думал ‹Пауза› на третьем дикторе конференции. Но ‹Pause› приостанавливает всю конференцию? - person X10D; 20.03.2019
comment
Нет, <Pause> оставляет пробел в вызове для вызывающего абонента на другом конце вызова. Это нужно для того, чтобы оставлять пробелы в сообщениях типа: <Say>Hello</Say><Pause length="2"/><Say>How can I help today?</Say>. Если вы пытаетесь использовать это, чтобы объявить что-то людям на конференции через 5 минут, это вряд ли сработает из-за тайм-аута RTP, о котором я упоминал выше. - person philnash; 20.03.2019