예상 대기 시간 및 작업 위치를 가져오는 방법

콜 센터라는 컨텍스트에서 고객은 에이전트와 연결되기 전에 얼마나 기다려야 하는지 알고 싶어할 수 있습니다. 따라서 작업 라우터는 큐에 있는 작업의 예상 대기 시간 또는 위치를 계산할 수 있습니다.

필수 조건

큐의 예상 대기 시간 및 큐의 길이 가져오기

GetQueueStatisticsAsync를 호출하고 EstimatedWaitTimeMinutes 속성을 확인하면 큐의 예상 대기 시간이 검색됩니다. 예상 대기 시간은 작업 우선 순위별로 그룹화됩니다. 작업 라우터도 큐의 길이와 큐에서 가장 긴 대기 작업을 반환합니다.

var queueStatistics = await client.GetQueueStatisticsAsync(queueId: "queue1");
Console.WriteLine($"Queue statistics: {JsonSerializer.Serialize(queueStatistics.Value)}");
var queueStatistics = await client.path("/routing/queues/{queueId}/statistics", "queue-1").get();
console.log(`Queue statistics: ${JSON.stringify(queueStatistics.body)}`);
queue_statistics = client.get_queue_statistics(queue_id = "queue1")
print("Queue statistics: " + queue_statistics)
RouterQueueStatistics queueStatistics = client.getQueueStatisticsWithResponse("queue1").getValue();
System.out.println("Queue statistics: " + BinaryData.fromObject(queueStatistics).toString());

위의 코드를 실행하면 다음 코드 조각과 유사한 메시지가 인쇄됩니다(참고: EstimatedWaitTimeMinutes 속성은 작업 우선 순위별로 그룹화됨).

Queue statistics: { "QueueId":"queue1", "Length": 15, "EstimatedWaitTimeMinutes": { "1": 10 }, "LongestJobWaitTimeMinutes": 4.724 }

큐에서 작업의 예상 대기 시간 및 위치 가져오기

ID가 job1인 작업의 예상 대기 시간은 GetQueuePositionAsync 를 호출하고 EstimatedWaitTimeMinutes 속성을 확인하여 검색합니다. 작업 라우터도 큐에 있는 작업의 위치를 반환합니다.

var queuePositionDetails = await client.GetQueuePositionAsync(jobId: "job1");
Console.WriteLine($"Queue position details: {JsonSerializer.Serialize(queuePositionDetails.Value)}");
var queuePositionDetails = await client.path("/routing/jobs/{jobId}/position", "job1").get();
console.log(`Queue position details: ${JSON.stringify(queuePositionDetails.body)}`);
queue_position_details = client.get_queue_position(job_id = "job1")
print("Queue position details: " + queue_position_details)
var queuePositionDetails = client.getQueuePosition("job1");
System.out.println("Queue position details: " + new GsonBuilder().toJson(queuePositionDetails));

위의 코드를 실행하면 다음 코드 조각과 유사한 메시지가 인쇄됩니다.

Queue position details: { "JobId": "job1", "Position": 4, "QueueId": "queue1", "QueueLength":15, "EstimatedWaitTimeMinutes": 5 }