Como obter tempo de espera estimado e posição de trabalho
No contexto de um call center, os clientes podem querer saber quanto tempo precisam esperar antes de serem conectados a um agente. Como tal, o Job Router pode calcular o tempo de espera estimado ou a posição de um trabalho em uma fila.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso dos Serviços de Comunicação implantado. Crie um recurso dos Serviços de Comunicação.
- Opcional: concluir o guia de início rápido de Introdução ao Roteador de Trabalho
- Opcional: Conclua o procedimento para aceitar ofertas de emprego
Obter tempo de espera estimado e duração de uma fila
O tempo de espera estimado para uma fila com é recuperado chamando GetQueueStatisticsAsync
e verificando a EstimatedWaitTimeMinutes
propriedade. O tempo de espera estimado é agrupado por prioridade de trabalho. O Roteador de Trabalho também retorna o comprimento da fila e o trabalho de espera mais longo na fila.
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());
A execução do código acima deve imprimir uma mensagem semelhante ao seguinte trecho (Observação: a propriedade é agrupada por prioridade de EstimatedWaitTimeMinutes
trabalho):
Queue statistics: { "QueueId":"queue1", "Length": 15, "EstimatedWaitTimeMinutes": { "1": 10 }, "LongestJobWaitTimeMinutes": 4.724 }
Obter tempo de espera estimado e posição de um trabalho em uma fila
O tempo de espera estimado para um trabalho com ID job1
é recuperado chamando GetQueuePositionAsync
e verificando a EstimatedWaitTimeMinutes
propriedade. O Roteador de Trabalho também retorna a posição do trabalho na fila.
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));
A execução do código acima deve imprimir uma mensagem semelhante ao seguinte trecho:
Queue position details: { "JobId": "job1", "Position": 4, "QueueId": "queue1", "QueueLength":15, "EstimatedWaitTimeMinutes": 5 }
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de