Twilio Flex已接受任务删除后会话保留的异常问题及程序化解决咨询
解决Twilio Flex残留会话问题:程序化方法与配置检查
程序化关闭会话的两种方案
1. 通过TaskRouter事件触发自动关闭
监听TaskRouter的task.canceled(系统自动删除任务时触发)和task.deleted(控制台手动删任务时触发)事件,通过Webhook联动关闭关联的会话:
- 先在TaskRouter工作区的Event Hooks中添加Webhook,指向你的服务端点
- 端点处理逻辑示例(Node.js):
const twilio = require('twilio'); const client = twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN); // 处理TaskRouter事件的Webhook app.post('/handle-task-events', async (req, res) => { const { EventType, TaskAttributes } = req.body; const attrs = JSON.parse(TaskAttributes); // 仅处理任务删除/取消且有会话关联的场景 if ((EventType === 'task.canceled' || EventType === 'task.deleted') && attrs.conversationSid) { try { await client.conversations.v1.conversations(attrs.conversationSid) .update({ status: 'closed' }); return res.status(200).send('会话已关闭'); } catch (err) { console.error('关闭会话失败:', err); return res.status(500).send('处理错误'); } } res.status(200).send('无操作'); });
2. 定时清理无有效任务的会话
编写定时任务,定期扫描活跃会话,若关联任务已不存在则自动关闭:
- 示例(Node.js + node-schedule):
const schedule = require('node-schedule'); const WORKSPACE_SID = '你的工作区SID'; // 每日凌晨执行清理 schedule.scheduleJob('0 2 * * *', async () => { const activeConvs = await client.conversations.v1.conversations.list({ status: 'active' }); for (const conv of activeConvs) { const { taskSid } = JSON.parse(conv.attributes); if (!taskSid) continue; try { // 检查任务是否存在 await client.taskrouter.v1.workspaces(WORKSPACE_SID).tasks(taskSid).fetch(); } catch { // 任务不存在,关闭会话 await client.conversations.v1.conversations(conv.sid).update({ status: 'closed' }); console.log(`已清理会话: ${conv.sid}`); } } });
配置检查项
- Worker离线超时:在TaskRouter工作区的Worker Activity Settings中,设置
Worker Activity Timeout(比如30分钟),当Worker长时间无活动时自动切换到Offline状态,触发任务重新分配(此设置配合事件Webhook,可避免任务挂死) - 任务超时规则:在任务队列配置中设置
Task Timeout(比如1小时),当任务处于assigned状态超时时自动取消,触发task.canceled事件来关闭会话 - Flex Flow fallback:检查Flex Flow的
Fallback Queue设置,当会话无活跃Worker时,将新消息路由到可用队列,避免消息流入无人监控的残留会话
补充说明
控制台手动删除任务时,TaskRouter会触发task.deleted事件,只要Webhook配置正确,就能自动关闭对应会话,无需手动操作CLI。
内容的提问来源于stack exchange,提问作者SamePop20
相关产品推荐
相关产品推荐

