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
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Une ressource Communication Services déployée. Créez une ressource Communication Services.
- Facultatif : suivez le Guide de démarrage rapide pour commencer à utiliser le routeur de travaux
- Facultatif : Terminer les offres de travail d’acceptation
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 }