Azure ポータルから Web Apps の停止ボタンを押しても、実際に停止しているのフロントのワーカープロセスだけで、Kudu や WebJobs が動いている SCM サイトは動き続けています。
実際に Web App を停止しても Kudu には自由にアクセスすることが出来ます。
しかし、完全に WebJobs の実行を止めたい場合には、停止ボタンが役に立たないので WebJobs 自体を削除していた人も、ひょっとしたら居るのではないでしょうか。
実際に私は WebJobs を消していましたが、あまりにもめんどくさいの調べてみると、SCM サイトを完全に止める方法が Wiki に記載されていました。
Full stopping a Web App · projectkudu/kudu Wiki · GitHub
完全に止めるためには、まずポータルからフロントを停止させた後に Resource Explorer を使って、該当のサイトの scmSiteAlsoStopped を true に設定します。
保存した後に Kudu を開いてみると 403 になっていることが確認できます。当然ながら SCM 側が停止しているので、同時に全ての WebJobs が停止することになります。
再開したい場合には、ポータルから Web App の起動ボタンを押すだけで SCM 側も同時に立ち上がります。
ポータルの表示は Kudu の API を叩いている部分があるので、SCM 側が完全に停止していると依存している機能の表示がエラーになったりすると思います。
WebJobs 実行ログの初期化
ここまでで WebJobs を完全に停止することが出来るようになったので、Azure WebJob Dashboard の実行ログを初期化したいと思います。テスト完了後とかに消したい時があります。
実行ログ自体は設定したストレージアカウントに保存されるので、これを消せばログは消えるのですが、WebJobs が実行中に消してしまうとデータが破損して表示がおかしくなります。
実際に WebJobs が動作中に消してしまったことがありますが、Dashboard から警告が消えなかったり、Never Finished なジョブが残ったりと不具合が発生しました。
なので、上の方法で SCM 側を完全に止めてしまってから、Blob Container を削除しましょう。