Você implementa um fluxo de trabalho do Durable Functions para aprovações de despesas. O orquestrador deve aguardar até 48 horas pela aprovação de um gerente e, em seguida, prosseguir. Se nenhuma aprovação for recebida dentro de 48 horas, ele deve rejeitar automaticamente e enviar uma notificação. A solução deve ser resiliente a reinícios e repetições. O que você deve implementar no orquestrador?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Aguardar um evento externo (por exemplo, "Approved") e criar um temporizador durável por 48 horas, aguardar Task.WhenAny(eventTask, timerTask), cancelar o temporizador se a aprovação chegar primeiro, caso contrário, continuar com a rejeição..
Por que esta é a resposta
A opção correta utiliza Task.WhenAny com um evento externo e um temporizador durável. Isso permite que o orquestrador aguarde a aprovação ou o tempo limite de 48 horas, o que ocorrer primeiro. O temporizador durável é resiliente a reinícios e repetições, garantindo que o estado seja mantido. Se a aprovação chegar, o temporizador pode ser cancelado, evitando processamento desnecessário. A opção de consultar um banco de dados a cada minuto é ineficiente e não é a maneira idiomática de lidar com esperas em Durable Functions. Thread.Sleep pausaria todo o processo e não é resiliente a reinícios, além de ser um antipadrão para orquestradores. Usar uma mensagem de fila com atraso de invisibilidade não reidrata o orquestrador de forma nativa e não é a abordagem correta para temporizadores em Durable Functions.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão