Tahmini bekleme süresini ve iş konumunu alma
Bir çağrı merkezi bağlamında müşteriler, bir aracıya bağlanmadan önce ne kadar beklemeleri gerektiğini bilmek isteyebilir. Bu nedenle İş Yönlendiricisi, bir işin kuyruktaki tahmini bekleme süresini veya konumunu hesaplayabilir.
Ön koşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- İsteğe bağlı: İş Yönlendiricisi'ni kullanmaya başlamak için hızlı başlangıcı tamamlayın
- İsteğe bağlı: İş tekliflerini kabul etme işlemini tamamlayın
Bir kuyruğun tahmini bekleme süresini ve uzunluğunu alma
ile bir kuyruk için tahmini bekleme süresi, özelliği çağrılarak GetQueueStatisticsAsync
ve denetlenerek EstimatedWaitTimeMinutes
alınır. Tahmini bekleme süresi iş önceliğine göre gruplandırılır. İş Yönlendiricisi ayrıca kuyruğun uzunluğunu ve kuyruktaki en uzun bekleme işini döndürür.
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());
Yukarıdaki kodun yürütülmesi aşağıdaki kod parçacığına benzer bir ileti yazdırmalıdır (Not: EstimatedWaitTimeMinutes
özellik iş önceliğine göre gruplandırılır):
Queue statistics: { "QueueId":"queue1", "Length": 15, "EstimatedWaitTimeMinutes": { "1": 10 }, "LongestJobWaitTimeMinutes": 4.724 }
Bir işin kuyruktaki tahmini bekleme süresini ve konumunu alma
Kimliği job1
olan bir işin tahmini bekleme süresi, özelliği çağrılarak GetQueuePositionAsync
ve denetlenerek EstimatedWaitTimeMinutes
alınır. İş Yönlendiricisi ayrıca işin kuyruktaki konumunu döndürür.
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));
Yukarıdaki kodu yürütürken aşağıdaki kod parçacığına benzer bir ileti yazdırılmalıdır:
Queue position details: { "JobId": "job1", "Position": 4, "QueueId": "queue1", "QueueLength":15, "EstimatedWaitTimeMinutes": 5 }