從庫杜項目的ContinuousJobRunner.cs,我們能找到的IsDisabled
屬性用於檢查webjob是否啓用或不如下:
private bool IsDisabled
{
get { return OperationManager.Attempt(() => FileSystemHelpers.FileExists(_disableFilePath) || Settings.IsWebJobsStopped()); }
}
正如我知道,連續WebJobs,我們有以下方法來阻止它。
1)登錄到Azure的門戶網站,在「設置>應用程序設置」刀鋒下,添加一個新的appsetting WEBJOBS_STOPPED與設定值1
注:此設置將禁用這兩個觸發webjobs和持續webjobs。
2)在你WebJob二進制文件的根目錄中添加一個名爲disable.job
文件
你可以登錄到Azure的門戶網站,在「設置> WebJobs」你的web應用的刀片,選擇您webjob,然後單擊「停止」 。另外,你可以手動添加這個文件。對於編程方式,您可以利用WebJobs API以及基於網絡應用程序的 Deployment credentials的基本身份驗證來啓動/停止WebJob。
我現在看到的行爲是停止的webjobs在部署後開始。這不是我想要的行爲,由於作業被停止的原因。
對於連續的WebJobs,我測試了這個問題,發現webjobs在我發佈我的web應用程序或webjob後會保持它們的狀態(停止/運行)。總之,請檢查你如何阻止你持續的WebJobs,你可以創建一個新的Webjob來隔離這個問題。
Ty。我也看到了。問題是我想讓webjob的運行狀態保持以下部署相同的狀態;如果停止了,停止它;如果它正在運行,請繼續運行。我可以發誓這種行爲(如果它停止,那麼這項工作就開始了)最近剛剛從我這裏開始...... – Matt