Está creando un flujo de trabajo de Durable Functions que recibe una lista de 50.000 URL de imágenes y debe extraer los metadatos EXIF de cada imagen en paralelo, para luego devolver una única lista agregada. El orquestador debe seguir siendo determinista y poder reanudarse correctamente después de repeticiones o reinicios. ¿Qué debe hacer en la función de orquestador para implementar el patrón fan-out/fan-in?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Iterar sobre las URL, programar cada actividad con CallActivityAsync`<T>`, recopilar los objetos Task`<T>` devueltos en una lista, luego esperar Task.WhenAll(tasks) y agregar los resultados..
Por qué esta es la respuesta
La opción correcta implementa el patrón fan-out/fan-in de forma determinista. Al iterar sobre las URL y programar cada actividad con CallActivityAsync<T, se crean tareas que se ejecutan en paralelo. Recopilar estas tareas en una lista y luego usar Task.WhenAll(tasks) asegura que el orquestador espera a que todas las actividades se completen antes de agregar los resultados, manteniendo la reanudación y el determinismo. Parallel.ForEach no es adecuado dentro de un orquestador de Durable Functions porque rompe el determinismo al introducir concurrencia no controlada por el marco de trabajo. Invocar una única actividad que procese todas las URL no aprovecha el paralelismo y puede causar tiempos de espera si la actividad es muy larga. ContinueAsNew se usa para reiniciar un orquestador de larga duración con un nuevo estado, no para coordinar el fan-out/fan-in de actividades paralelas.
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