Ottenere il tempo di attesa stimato e la posizione del processo
Nel contesto di un call center, i clienti potrebbero voler sapere quanto tempo devono attendere prima di essere connessi a un agente. Di conseguenza, Il router processo può calcolare il tempo di attesa stimato o la posizione di un processo in una coda.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa di Servizi di comunicazione distribuita. Creare una risorsa di Servizi di comunicazione.
- Facoltativo: Completare la guida introduttiva per iniziare a usare Il router di processo
- Facoltativo: completare le procedure per accettare le offerte di processo
Ottenere il tempo di attesa stimato e la lunghezza di una coda
Tempo di attesa stimato per una coda con viene recuperato chiamando GetQueueStatisticsAsync
e controllando la EstimatedWaitTimeMinutes
proprietà. Il tempo di attesa stimato viene raggruppato in base alla priorità del processo. Il router del processo restituisce anche la lunghezza della coda e il processo di attesa più lungo nella coda.
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'esecuzione del codice precedente deve stampare un messaggio simile al frammento di codice seguente (nota: la EstimatedWaitTimeMinutes
proprietà è raggruppata per priorità di processo):
Queue statistics: { "QueueId":"queue1", "Length": 15, "EstimatedWaitTimeMinutes": { "1": 10 }, "LongestJobWaitTimeMinutes": 4.724 }
Ottenere il tempo di attesa stimato e la posizione di un processo in una coda
Il tempo di attesa stimato per un processo con ID job1
viene recuperato chiamando GetQueuePositionAsync
e controllando la EstimatedWaitTimeMinutes
proprietà. Il router processo restituisce anche la posizione del processo nella coda.
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'esecuzione del codice precedente deve stampare un messaggio simile al frammento di codice seguente:
Queue position details: { "JobId": "job1", "Position": 4, "QueueId": "queue1", "QueueLength":15, "EstimatedWaitTimeMinutes": 5 }