您正在建構一個 Durable Functions 工作流程,該流程接收包含 50,000 個影像 URL 的清單,並且必須平行地為每個影像提取 EXIF 中繼資料,然後傳回一個單一的彙總清單。協調器必須保持確定性,並且能夠在重播或重新啟動後正確恢復。您應該如何在協調器函數中實作扇出/扇入模式?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 迭代處理 URL,使用 CallActivityAsync`<T>` 排程每個活動,將傳回的 Task`<T>` 物件收集到清單中,然後等待 Task.WhenAll(tasks) 並彙總結果。.
為什麼這是答案
正確答案描述了 Durable Functions 中實現扇出/扇入模式的標準且確定性方式。迭代處理每個 URL 並為每個 URL 調用一個活動函數,然後使用 Task.WhenAll 等待所有這些並行活動完成,確保了協調器的確定性。這允許在重播期間正確恢復狀態,因為 CallActivityAsync 調用是按順序記錄的,但其執行是並行的。 選項 B 不正確,因為在協調器內部使用 Parallel.ForEach 會破壞確定性,因為其執行順序不可預測。選項 C 不正確,因為將所有處理委託給單一活動會導致該活動執行時間過長,可能超時,並且無法利用 Durable Functions 的並行處理能力。選項 D 不正確,因為頻繁調用 ContinueAsNew 會重置協調器狀態,不適用於在單次執行中等待大量並行活動完成的扇出/扇入模式。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡