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/{ジョブ名}
まとめ
これで、「Azure Schedulerに設定してたつもりになってたけど、認証の設定し忘れて起動時にエラーになっちゃった\(^o^)/」なんてこともなくりますね。
おしまい。