Partage via


Comment obtenir le temps d’attente estimé et la position dans la file d’attente d’une tâche

Dans le contexte d’un centre d’appels, les clients peuvent souhaiter savoir combien de temps ils doivent attendre avant qu’ils soient connectés à un agent. Par conséquent, le routeur de travaux peut calculer le temps d’attente estimé ou la position d’un travail dans une file d’attente.

Prérequis

Obtenir le temps d’attente estimé et la durée d’une file d’attente

Le temps d’attente estimé pour une file d’attente avec est récupéré en appelant GetQueueStatisticsAsync et en case activée la EstimatedWaitTimeMinutes propriété. Le temps d’attente estimé est regroupé par priorité de travail. Le routeur de travaux retourne également la longueur de la file d’attente et le travail en attente le plus long dans la file d’attente.

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());

L’exécution du code ci-dessus doit imprimer un message similaire à l’extrait de code suivant (Remarque : la EstimatedWaitTimeMinutes propriété est regroupée par priorité de travail) :

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

Obtenir le temps d’attente estimé et la position d’un travail dans une file d’attente

Le temps d’attente estimé pour un travail avec ID job1 est récupéré en appelant GetQueuePositionAsync et en case activée la EstimatedWaitTimeMinutes propriété. Le routeur de travaux retourne également la position du travail dans la file d’attente.

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));

L’exécution du code ci-dessus doit imprimer un message similaire à l’extrait de code suivant :

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