私が知っているように、起動したWebJobを直接停止することはできませんでした。プロセスエクスプローラを利用してKUDUで終了する必要があります。連続WebJobの場合、WebJobs APIを使用してWebJobを開始/停止することができます.WebアプリのDeployment credentialsを使用して基本認証で特定のRest APIを呼び出す必要があります。ここでWebJobを停止するには、C#のコードスニペットです:
string username = "{username}";
string password = "{password}";
string jobname = "{your-webjob-name}";
string authorization = Convert.ToBase64String(System.Text.UTF8Encoding.UTF8.GetBytes($"{username}:{password}"));
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorization);
var res = await client.PostAsync($"https://{your-webapp-name}.scm.azurewebsites.net/api/continuouswebjobs/{jobname}/stop", null);
Console.WriteLine($"StatusCode:{res.StatusCode}");
}
注:この時点では、次のように、disable.job
という名前のファイルがWebJobで追加されます:
開始のためにWebJobを呼び出して/api/continuouswebjobs/{job name}/start
を呼び出すと、disable.job
ファイルが削除され、WebJobが再び実行されます。
WebJobを停止するには、Webサービスで良好な呼び出し(punが意図されています)が必要です。しかし、もう一度WebJobを起動するためには、どのファイルを参照していますか? –