2
我有一個具有長時間運行操作的天青功能應用程序。我想通過HTTP(爲簡單起見)通過一些輸入和輸出來觸發它。我不想讓HTTP連接在整個作業運行期間保持打開狀態。我可以在azure函數中實現異步「觸發並忘記」HTTP觸發器
構建函數應用程序有哪些選擇,運行時接受一些數據,然後在調用run.csx文件之前立即將控制權返回給調用者?
我有一個具有長時間運行操作的天青功能應用程序。我想通過HTTP(爲簡單起見)通過一些輸入和輸出來觸發它。我不想讓HTTP連接在整個作業運行期間保持打開狀態。我可以在azure函數中實現異步「觸發並忘記」HTTP觸發器
構建函數應用程序有哪些選擇,運行時接受一些數據,然後在調用run.csx文件之前立即將控制權返回給調用者?
我推薦一個設計,你的http函數接受+驗證工作請求並將消息排入工作隊列另一個函數正在偵聽。所以你應該從http觸發器模板開始,並添加一個隊列輸出綁定。
這樣您的請求立即返回,您的長時間運行的工作可以在隊列觸發函數的上下文中完成。一個好處是您可以免費獲得隊列觸發器的重試行爲。例如。如果您的長時間運行任務中途失敗,則消息將在一段時間後重新處理(隊列消息只能在成功處理後從隊列中刪除)。
這種分離還可以爲您提供更多的工作安排選項。例如。該工作將來可以通過另一個函數的隊列輸出來啓動,而不需要http請求。
感謝@mathewc,這個鏈接構造對我來說是完美的 – Joon