Twilio worker activity 任务关闭后未从忙碌变为空闲
Twilio worker activity not changing from Busy to Idle after task is closed
我们使用 Twilio Task Router 并禁用了多任务处理工作区,并且仅将默认任务通道设置为对所有工作人员可用。任务预留被接受后,工作人员 activity 按预期从预留状态变为忙碌状态。但最后当任务状态更新为 'Completed' 时,Worker activity 并没有像预期的那样变为空闲,而是保持忙碌 activity。这是错误还是预期的行为?还是我们缺少任何配置?
这里是 TaskRouter 团队的 Twilio 工程师!是的,这是单任务处理的预期行为。
您会发现,当分配 Reservation 时,分配给它的 Worker 将移动到该 TaskQueue(或任何 Activity 的 "Busy" Activity指定用于赋值,可以通过 API here, or you can set it via the Console here) 更改。
然而,当一个任务完成时,在单任务环境中并不能保证 Worker 实际上已经准备好在那个时刻再次开始工作——他们可能是,但这取决于您的工作流程。因此,我们需要在再次向他们分配任务之前进行确认。这就是为什么工人的 Activity 需要手动设置回 "Idle" 才能再次开始接收任务。
如果这是您想要的工作流程,最简单的方法之一就是在您的 EventCallbackUrl
or via the JS SDK 处监听 task.completed
事件,然后发出 Activity 更新为 "Idle" 当时关联的 Worker。
希望这能回答您的问题!
我们使用 Twilio Task Router 并禁用了多任务处理工作区,并且仅将默认任务通道设置为对所有工作人员可用。任务预留被接受后,工作人员 activity 按预期从预留状态变为忙碌状态。但最后当任务状态更新为 'Completed' 时,Worker activity 并没有像预期的那样变为空闲,而是保持忙碌 activity。这是错误还是预期的行为?还是我们缺少任何配置?
这里是 TaskRouter 团队的 Twilio 工程师!是的,这是单任务处理的预期行为。
您会发现,当分配 Reservation 时,分配给它的 Worker 将移动到该 TaskQueue(或任何 Activity 的 "Busy" Activity指定用于赋值,可以通过 API here, or you can set it via the Console here) 更改。
然而,当一个任务完成时,在单任务环境中并不能保证 Worker 实际上已经准备好在那个时刻再次开始工作——他们可能是,但这取决于您的工作流程。因此,我们需要在再次向他们分配任务之前进行确认。这就是为什么工人的 Activity 需要手动设置回 "Idle" 才能再次开始接收任务。
如果这是您想要的工作流程,最简单的方法之一就是在您的 EventCallbackUrl
or via the JS SDK 处监听 task.completed
事件,然后发出 Activity 更新为 "Idle" 当时关联的 Worker。
希望这能回答您的问题!