Usted implementa un flujo de trabajo de Durable Functions para aprobaciones de gastos. El orquestador debe esperar hasta 48 horas para la aprobación de un gerente y luego continuar. Si no se recibe la aprobación dentro de las 48 horas, debe rechazarla automáticamente y enviar una notificación. La solución debe ser resistente a reinicios y repeticiones. ¿Qué debe implementar en el orquestador?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Esperar un evento externo (por ejemplo, "Approved") y crear un temporizador duradero de 48 horas, await Task.WhenAny(eventTask, timerTask), cancelar el temporizador si la aprobación llega primero, de lo contrario continuar con el rechazo..
Por qué esta es la respuesta
La opción correcta utiliza Task.WhenAny con un evento externo y un temporizador duradero. Esto permite que el orquestador espere de forma resistente a fallos por la aprobación o hasta que expire el temporizador. Si la aprobación llega primero, el temporizador se cancela. Si el temporizador expira, se procede con el rechazo. Esta es la forma idiomática y resistente a fallos de manejar tiempos de espera en Durable Functions. Las otras opciones son incorrectas porque: Consultar una base de datos con una función de actividad y Thread.Sleep no es resistente a fallos, consume recursos innecesariamente y no es la forma correcta de manejar esperas en Durable Functions. Pausar el orquestador con Thread.Sleep durante 48 horas no es resistente a fallos y viola el patrón de rehidratación de Durable Functions. Usar un mensaje de cola con un retraso de invisibilidad no es un mecanismo de temporización directo para un orquestador y no proporciona la lógica de "esperar A o B".
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta