DialogFlow Python3 Webhook - увеличить время ожидания? - PullRequest
2 голосов
/ 15 мая 2019

У меня есть намерение DialogFlow, которое позволяет проанализировать запрос пользователя о цене товара.Например, пользователь спрашивает «Сколько стоит банка сардин?», Мой DialogFlow может получить «банку сардин» в качестве пользовательского ввода.

Как только он это получит, он перейдет к выполнению, гдеэто отправило бы запрос POST на WebHook, который я имею.Я связал Fulfillment с моим локальным приложением Python3 Flask через ngrok.com .

Прямо сейчас, то, что делает мое приложение Python, это то, что оно принимает пользовательский ввод (банка сардин) и использует PDFGrep для поиска ввода пользователя в PDF-файле прайс-листа, находящегося на сервере.Прайс-лист имеет 3 столбца: код товара, название товара, цена товара.Для каждого экземпляра, в котором появляется пользовательский ввод, вся строка отправляется как выходной.Это означает, что если «банка сардин» появится 3 раза, строки строки будут показаны.

Вывод на консоль будет выглядеть примерно так:

10000   Can of Sardines - 6 Cans    $5.00
10001   Can of Sardines - 12 Cans   $9.00
10002   Can of Sardines - 18 Cans   $13.00

Это работает вс консолью все в порядке.

Тем не менее, файл довольно большой и содержит около 348 страниц.Итак, что происходит, так это то, что моей команде pdfgrep требуется некоторое время для получения вывода, но, насколько я понимаю, DialogFlow, похоже, ожидает ответа сервера от своего запроса POST в течение короткого промежутка времени.

Есть ли способ настроить время ожидания Webook для DialogFlow API?

1 Ответ

1 голос
/ 15 мая 2019

Нет никакого способа увеличить этот тайм-аут, потому что это испортило бы разговор пользователя, т. Е. Пользователь был бы разочарован, если ему пришлось бы долго ждать ответа.
Что вы можете сделать, это отправить ответ пользователю, который проверяет цены, а затем, как только вы получите данные из базы данных, вы отправите другой ответ, используя запрос POST к клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...