なか日記

一度きりの人生、楽しく生きよう。

Azure Schedulerを使用せず、Web Appsの機能でスケジューリングする

PVをツイートするサービスでAzure Schedulerを使っていましたが、もっとお手軽に(お安く)WebJobsの定期実行を行いたいと思ってました。 そこで約1年遅れですが、しばやんがブログに書いていたWeb Appsでのスケジュール実行を試してみました。

設定方法

詳しいことはしばやんのブログを見て下さい。Always Onに設定しておく必要があるので、Free等のプランでは設定できません。

setting.jobの例

{
  "schedule": "0 */5 * * * *"
}

設定の確認

設定が出来ているかどうかは
https://{サイト名}.scm.azurewebsites.net/api/triggeredwebjobs/{ジョブ名}
で確認できます。{ジョブ名}を省略するとそのサイトに登録されている全てのWebJobsを確認できます。

確認例

[
    {
        "latest_run": {
            "id": "201605241950001257",
            "name": "201605241950001257",
            "status": "Success",
            "start_time": "2016-05-24T19:50:00.1257072Z",
            "end_time": "2016-05-24T19:50:11.1532556Z",
            "duration": "00:00:11.0275484",
            "output_url": "https://samplewebapps.scm.azurewebsites.net/vfs/data/jobs/triggered/SampleJob/201605241950001257/output_log.txt",
            "error_url": null,
            "url": "https://samplewebapps.scm.azurewebsites.net/api/triggeredwebjobs/SampleJob/history/201605241950001257",
            "job_name": "SampleJob",
            "trigger": "Schedule - 0 0,5,10,15,20,25,30,35,40,45,50,55 * * * *"
        },
        "history_url": "https://samplewebapps.scm.azurewebsites.net/api/triggeredwebjobs/SampleJob/history",
        "scheduler_logs_url": "https://samplewebapps.scm.azurewebsites.net/vfs/data/jobs/triggered/SampleJob/job_scheduler.log",
        "name": "SampleJob",
        "run_command": "TweetPvService.SampleJob.exe",
        "url": "https://samplewebapps.scm.azurewebsites.net/api/triggeredwebjobs/SampleJob",
        "extra_info_url": "https://samplewebapps.scm.azurewebsites.net/azurejobs/#/jobs/triggered/SampleJob",
        "type": "triggered",
        "error": null,
        "using_sdk": false,
        "settings": {
            "schedule": "0 */5 * * * *"
        }
    }
]

実行履歴

extra_info_url に書かれているURLから確認できます。いつものやつですね。
https://{サイト名}.scm.azurewebsites.net/azurejobs/#/jobs/triggered/{ジョブ名}

f:id:nakaji999:20160525051518p:plain

まとめ

これで、「Azure Schedulerに設定してたつもりになってたけど、認証の設定し忘れて起動時にエラーになっちゃった\(^o^)/」なんてこともなくりますね。

おしまい。