twilio - 当 websocket 断开连接时,Taskrouter 工作人员活动未更改
问题描述
我正在使用 twiliotaskrouter13.min.js 来启动一个使用
this.workerClient = new Twilio.TaskRouter.Worker(
token,
this.twilioConfig.debugging,
this.twilioConfig.workerActivities.offline,
this.twilioConfig.workerActivities.offline,
true
);
预期的行为是,当 websocket 被丢弃时,代理会自动移动到“离线”状态
添加连接和断开活动,并关闭现有>会话
var worker = new Twilio.TaskRouter.Worker(WORKER_TOKEN, false, "WAxxx", "WAyy", true);
https://www.twilio.com/docs/taskrouter/js-sdk/worker#taskrouterworker
但是,这似乎不是当前的行为,我对几个工作人员进行了测试,看起来工作人员在 websocket 断开连接后仍处于当前状态。
有人知道我们是否遗漏了什么吗?也许是不同的配置或某个地方的超时?
解决方案
不久前我遇到了同样的问题,发了一条消息给支持,得到了这个答案:
当您尝试将工作人员更新为离线时,正如 worker.js 所做的那样,如果工作人员有保留,它将失败。
我唯一能想到的就是在应用程序的客户端代码中添加一个自定义的“卸载”事件处理程序,以便在将工作人员设置为离线之前拒绝任何待处理的保留。
该文档缺少有关其disconnecActivitySid
工作原理的一些详细信息。我最终unload
在页面中添加了一个事件侦听器,并修改了 webhook 以在工作人员连续错过 10 个预订时将工作人员的活动更新为离开。
任务分配回调可以返回拒绝任务的指令和不可用的活动,以便工作人员停止接收新任务。例如,{ instruction: 'reject', activity_sid: '<away_activity_sid' }
.
推荐阅读
- xpath - 无法找到请求的元素:By.xpath: //*[@id="SF-Refresh"]
- c# - Xamarin.Android 中的文件提供程序异常
- angular - 角度 6 中的动态表单验证与条件,反之亦然
- r - 从 R 中的向量创建“可用”箱
- macos - 尽管没有容器运行,但 Docker 正在最大限度地利用 CPU,如何减少 docker 的 CPU 开销?
- python-3.x - Error message when appending data to pandas dataframe
- php - PhpStorm 代码样式“空格 - 内 - 括号”不起作用
- spring - Spring Data R2DBC - 在反应式存储库中构建自定义 postgresql 查询
- python-3.x - 单选选项不可点击的元素
- php - 如何在 show 方法中丢弃 GET 值(laravel)