Вы реализуете рабочий процесс Durable Functions для утверждения расходов. Оркестратор должен ждать утверждения менеджером до 48 часов, а затем продолжить работу. Если утверждение не получено в течение 48 часов, он должен автоматически отклонить запрос и отправить уведомление. Решение должно быть устойчивым к перезапускам и повторным воспроизведениям. Что вы должны реализовать в оркестраторе?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Ожидать внешнего события (например, "Approved") и создать durable timer на 48 часов, использовать await Task.WhenAny(eventTask, timerTask), отменить таймер, если утверждение пришло раньше, в противном случае продолжить отклонение..
Почему это правильный ответ
Правильный ответ описывает стандартный и рекомендуемый шаблон для реализации тайм-аутов в Durable Functions. Использование Task.WhenAny позволяет оркестратору ожидать либо внешнего события (утверждения), либо истечения таймера. Если утверждение поступает раньше, таймер отменяется, и оркестратор продолжает работу. Если таймер истекает, оркестратор обрабатывает отклонение. Это решение устойчиво к перезапускам и повторным воспроизведениям, поскольку durable timer и внешние события являются частью состояния оркестратора. Использование activity function для опроса базы данных неэффективно и не соответствует парадигме Durable Functions для длительных ожиданий. Приостановка оркестратора с помощью Thread.Sleep недопустима, так как это блокирует поток и не является устойчивым к перезапускам. Сообщение очереди с задержкой невидимости не является встроенным механизмом для управления тайм-аутами в оркестраторе Durable Functions и усложнит логику.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется