2017-02-07 19 views
0

我們有一個很長的運行操作(可能有幾天),我們希望從寫入到Azure存儲的BLOB文件觸發。這項工作可以在一年內開始,從未或過幾天開始。Azure批量作業是否需要觀察器進程?

Azure Batch工作看起來完全像我們所需要的,假設在批處理作業運行時不需要成爲'觀察者'進程。例如,如果我們可以讓一個Azure函數捕獲BLOB事件,啓動一個批處理作業,以「即熱即忘」的方式啓動作業,然後函數結束它正是我們需要的。我們並不太擔心報告工作的進展(我們正在使用SQL表),我們只想開始工作,然後監控它的帶外。

有沒有辦法啓動批處理作業,並讓作業進程在作業繼續在後臺運行時消失?如果沒有,有沒有辦法做到這一點,而不必有一個不斷運行的過程(工人角色或織物工作者)?當99.9%的時間沒有做任何事情時,我們試圖避免有一個流程(工作者/結構角色,使用應用功能計劃的功能等)運行。

回答

1

簡答:不,您不需要觀察程序進程。

Azure批處理任務本質上是異步的。添加任務時(在作業下),針對批處理服務的調用立即返回,同時提交操作本身成功或失敗(並且不是在任務在計算節點上成功完成)。批處理服務負責在池中可用計算節點之間安排任務,內部監控任務進度,更新統計信息等。

如果您選擇這樣做,您可以監視任務的進度獨立於使用任何SDK,REST API或客戶端工具的提交actor。或者,您可以選擇自行監控它,正如您所描述的,如果您的任務正在更新外部監視器或數據存儲。或者您可以安排任務而不監控它,該服務不會強制您監視/監視任務。

+0

您還可以啓用自動縮放公式,在沒有人注視時關閉未使用的節點;) –