Bot v4 канал чата, отправляющий сообщение очень медленно - PullRequest
0 голосов
/ 30 мая 2019

Я использую последнюю версию v4. В эмуляторе все работает отлично и быстро. Но когда я развертываю его на Azure и использую канал веб-чата, а также печатаю сообщение и отправляю, появляется ярлык «Отправка», который остается немного и затем говорит «Только сейчас». Проблема в том, что он очень медленный и отправляющая метка фактически остается на 2 секунды. Что может быть причиной здесь?

a busy cat

Та же проблема была поднята в github https://github.com/MicrosoftDocs/bot-docs/issues/1172

1 Ответ

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

Это показатель того, как быстро ваше пользовательское сообщение попадает в конечную точку бота.Эмулятор локальный и, следовательно, немного быстрее (в данном случае 2 секунды).

«Отправка» означает, что пользователь отправил сообщение, а сообщение «Только сейчас» означает, что бот прочитал сообщение пользователя.Очевидно, вашему боту понадобится 2 секунды, чтобы поразить вашу лазурную конечную точку.Чтобы перейти от «отправки» к «отправке», каналу прямой линии необходимо явно сообщить веб-чату, что бот его прочитал.Технически это означает, что канал Direct Line снова отправит копию сообщения пользователя обратно в веб-чат.

Например, для этой истории.

  1. Пользователь говорит: «Меня зовут Джон"
  2. Бот скажет" Привет, Джон "
    • Если вы посмотрите на сетевой трафик из канала Direct Line в браузере, вы увидите несколько пакетов, отправленных или полученных в этом конкретном порядке:
      1. HTTP POST «Меня зовут Джон», возвращает 200 OK
      2. HTTP GET 200 OK для «Hello, John» (или в виде пакета веб-сокета)
      3. HTTP GET 200 OKдля «Меня зовут Джон» (или как пакет веб-сокета)
    • Если 3-й пакет не получен, веб-чат не будет считать сообщение успешно отправленным.
    • Если вы используете наш канал Direct Line (не пользовательский адаптер бота), канал Direct Line автоматически создаст для вас 3-й пакет, если бот ответит «положительно и своевременно» на запрос HTTP «Меня зовут Джон»от канала Direct Line.Другими словами, если бот исключен из-за ошибки или занимает слишком много времени при обработке сообщения пользователя, веб-чат не изменится на статус «Просто сейчас», потому что это отрицательный ответ.(Для тайм-аута, я считаю, жесткий крайний срок составляет 120 с.)

Если у вас есть добавленные Application Insights к вашему боту, вы можете посмотреть на панель мониторинга для просмотра сетевого трафика:

application insights example dashboard

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