【问题标题】:Twilio TaskRouter - ordering workers by assigned_tasksTwilio TaskRouter - 按assigned_tasks 排序工人
【发布时间】:2021-04-07 15:50:20
【问题描述】:

我遇到了关于我的 Twilio TaskRouter 配置的问题。问题是我需要将传入任务分配给分配给他/她的任务较少的工作人员,而不是最长空闲的工作人员(默认情况下)。

根据Twilio's multitasking documentation,每个工作人员在其通道内都有一个assigned_tasks 属性。所以,我尝试在我的 order_by 子句中使用这个属性,但它似乎不起作用。

{
  "task_routing": {
    "filters": [
      {
        "filter_friendly_name": "Worker Filter",
        "expression": "transferTargetType == 'worker'",
        "targets": [
          {
            "queue": "WQXXXXX",
            "expression": "worker.sid == task.targetSid",
            "timeout": 30,
            "skip_if": "workers.available == 0"
          },
          {
            "queue": "WQXXXXX",
            "timeout": 0,
            "skip_if": "workers.available == 0"
          }
        ]
      },
      {
        "filter_friendly_name": "Ordered",
        "expression": "1==1",
        "targets": [
          {
            "queue": "WQXXXXX",
            "order_by": "worker.channel.chat.assigned_tasks ASC",
            "skip_if": "workers.available == 0"
          }
        ]
      }
    ],
    "default_filter": {
      "queue": "WQXXXXX"
    }
  }
}

重要的是说我的第一个过滤器在这种情况下没有被触发,因为我没有传递 transferTargetType 属性。

知道为什么这不起作用吗?

谢谢:D

【问题讨论】:

    标签: twilio twilio-programmable-chat twilio-taskrouter


    【解决方案1】:

    根据 Twilio 的支持,无法按任务分配的数量对我的工作人员进行排序。相反,他们建议我根据此工作器属性的特定值创建大量过滤步骤。

    所以,这就是我现在的工作流程:

    {
      "task_routing": {
        "filters": [
          {
            "filter_friendly_name": "Ordered",
            "expression": "1==1",
            "targets": [
              {
                "queue": "WQXXXXXXXXX",
                "expression": "worker.channel.chat.assigned_tasks == 0",
                "skip_if": "1==1"
              },
              {
                "queue": "WQXXXXXXXXX",
                "expression": "worker.channel.chat.assigned_tasks == 1",
                "skip_if": "1==1"
              },
              {
                "queue": "WQXXXXXXXXX",
                "expression": "worker.channel.chat.assigned_tasks == 2",
                "skip_if": "1==1"
              },
              {
                "queue": "WQXXXXXXXXX",
                "expression": "worker.channel.chat.assigned_tasks == 3",
                "skip_if": "1==1"
              },
              {
                "queue": "WQXXXXXXXXX",
                "expression": "worker.channel.chat.assigned_tasks == 4",
                "skip_if": "1==1"
              },
              ...
            ]
          },
          {
            "filter_friendly_name": "Anybody",
            "expression": "1==1",
            "targets": [
              {
                "queue": "WQXXXXXXXXX"
              }
            ]
          }
        ],
        "default_filter": {
          "queue": "WQXXXXXXXXX"
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      相关资源
      最近更新 更多