Wie ich weiß, konnte man einen ausgelösten WebJob nicht direkt stoppen, Sie müssen Process Explorer nutzen, um es über KUDU zu töten. Für die fortlaufenden WebJobs können Sie WebJobs API nutzen, um die WebJobs zu starten/stoppen. Sie müssen die spezifische Rest API mit Basic Auth unter Verwendung von Deployment credentials Ihrer Web App aufrufen. Hier ist der C# Code-Schnipsel, die WebJob zu stoppen:
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}");
}
Hinweis: An dieser Stelle eine Datei disable.job
genannt würde mit Ihrem WebJob hinzugefügt werden, wie folgt:
Für den Start der WebJob, rufen Sie einfach /api/continuouswebjobs/{job name}/start
, dann die disable.job
Datei würde entfernt werden und Ihr WebJob würde erneut ausgeführt werden.
Guter Anruf (Wortspiel beabsichtigt) auf dem Web-Service, einen WebJob zu stoppen. Aber auf welche Datei beziehen Sie sich, um den WebJob erneut zu starten? –