При отключении веб-сокета активность работника не изменялась - PullRequest
0 голосов
/ 02 ноября 2018

Я использую twiliotaskrouter13.min.js, чтобы инициировать работника, используя

    this.workerClient = new Twilio.TaskRouter.Worker(
      token,
      this.twilioConfig.debugging,
      this.twilioConfig.workerActivities.offline,
      this.twilioConfig.workerActivities.offline,
      true
    );

Ожидаемое поведение: при отключении веб-сокета агент автоматически переводится в состояние «Не в сети»

Добавление подключаемых и отключаемых операций и закрытие существующих> сеансов

var worker = новый Twilio.TaskRouter.Worker (WORKER_TOKEN, false, "WAxxx", "WAyyy", true);

https://www.twilio.com/docs/taskrouter/js-sdk/worker#taskrouterworker

Однако, похоже, что это не текущее поведение, я протестировал с несколькими работниками, и похоже, что работник остается в текущем состоянии после отключения веб-сокета.

Кто-нибудь знает, если мы что-то упустили? Может быть, другой конфиг или таймаут где-то?

1 Ответ

0 голосов
/ 21 февраля 2019

Я столкнулся с той же проблемой некоторое время назад, отправил сообщение в службу поддержки и получил ответ:

Когда вы пытаетесь обновить работника в автономный режим, как это делает файл worker.js, это не удастся, если у работника есть резервирование.

Единственное, что я могу придумать, это добавить пользовательское событие "unload". обработчик клиентского кода вашего приложения, так что он будет отклонять любые ожидающие резервирования перед переводом работника в автономный режим.

В документации отсутствуют некоторые подробности о том, как работает disconnecActivitySid. В итоге я добавил на страницу прослушиватель событий unload, а также изменил webhook, чтобы обновить активность работника до Away , когда работник пропускает 10 резервирований подряд.

Обратный вызов назначения задачи может вернуть инструкцию отклонить задачу и недоступное действие, чтобы работник прекратил получать новые задачи. Например, { instruction: 'reject', activity_sid: '<away_activity_sid' }.

...