我有一個MVC網站,一個存儲隊列和一個WebJob。用戶可以通過點擊網頁上的按鈕來請求生成一組報告。這會將消息插入到存儲隊列中。在過去,WebJob連續運行並正確處理這些請求。但報告的需求和規模已經擴大到WebJob放慢Web應用程序的速度。我仍然希望將請求消息放入隊列中,但延遲處理所有請求直到晚上,當時Web應用程序大部分空閒。這將允許我繼續使用WebJob代碼和QueueTrigger功能,而不必通過轉移到專用的工作人員角色等來浪費資源。報告不需要立即生成,因此延遲是可以接受的。Azure WebJob - 將處理時間限制在特定時間
我沒有看到內置的方式來設置處理時間窗口。我唯一發現的是一個用於啓動和停止WebJobs的PowerShell cmdlet(Start-AzureWebsiteJob/Stop-AzureWebsiteJob)。所以我在想,我可以創建一個計劃在午夜運行的powershell作業,啓動webjob,讓它運行,然後在AM早期再次運行並停止它。
有沒有人知道比這更好的選擇?任何更「官方」,也許我找不到?
我完全忘記initialVisibilityDelay。我必須添加一個新的AddMessage包裝器,與我們現在使用的包裝器相比,但我認爲它會起作用。只要隊列沒有太大,以至於在一個晚上就不會被處理掉......因爲這個解決方案沒有「關閉」選項。謝謝。 –