2017-02-16 7 views
0

質問があります。新しいバージョンをデプロイしている間にappserviceのwebjobsを無効にして、デプロイ後に再度有効にします。C#でAzure WebJobを非アクティブ化して有効にします

C#で可能性がありますか?にdisabled.job

のファイルを追加しますhttps://github.com/projectkudu/kudu/wiki/WebJobs-API#stop-a-continuous-job

POST https://{sitename}.scm.azurewebsites.net/api/continuouswebjobs/{job name}/stop 

:あなただけのREST呼び出しを行う必要があり、外部クライアントからWebJobを停止するには君たち

答えて

1

私が知っているように、起動した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が再び実行されます。

1

thanky

再度WebJobを開始してください

POST https://{sitename}.scm.azurewebsites.net/api/continuouswebjobs/{job name}/start 

abledジョブファイルとwebjobが再び実行される

+0

WebJobを停止するには、Webサービスで良好な呼び出し(punが意図されています)が必要です。しかし、もう一度WebJobを起動するためには、どのファイルを参照していますか? –

関連する問題