2017-05-17 11 views
1

私は、AzureのApp Serviceとして動作しているASP.NET MVC5アプリケーションを持っており、1時間ごとにコンソールアプリケーションを実行するようにWebJobをスケジュールする必要があります。ジョブが正常時に実行されます -Azure WebJobがスケジュールされていないのはなぜですか?

{ 
    "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", 
    "webJobName": "EpisodeUpdater", 
    "startTime": "2017-05-01T00:00:00-08:00", 
    "endTime": "2020-06-01T00:00:00-08:00", 
    "jobRecurrenceFrequency": "Hour", 
    "interval": 1, 
    "runMode": "Scheduled" 
} 

私はアズールに見えるWebJobの種類がトリガとして設定していると思わポータル:としてコンソールアプリケーションで

私は webjob-publish-settings.jsonファイルに定義されています手動で起動しますが、1時間ごとに実行されません。

WebJobs

WebJob properties

WebJobが適切にスケジュールされていない理由を誰でも見ることができますか?

+0

パブリッシュプロファイルはどのように見えますか? WebJobをどのように展開しますか?あなたは単にJobsフォルダに入れますか?例えば[WebJobs SDK]を使用していますか(https://docs.microsoft.com/en-us/azure/app-service-web/websites-dotnet- webjobs-sdk)(推奨!) –

答えて

4

ところで、スケジュールされたジョブはありません。スケジュールされたWebJobは、タイマーによってトリガされるOn-demand/Triggered WebJobです。このタイマはAzureスケジューラ(これはVSツールを使って作成したものです)またはKuduの組み込みスケジューラにすることができます。ビルトインスケジューラを使用するには

は、ファイルを作成し、プロジェクトのルートにsettings.jobと呼ばれるコンテンツとしてこれを持っている:

{ 
    "schedule": "0 0 * * * *" 
} 

それを1時間ごとに実行されますこと。 CRON式を使用します。この場合、定義は秒と分がゼロのときに常に実行する必要があります。これで、アプリでAlways Onがオンになっている必要があります。

ドキュメント:https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-create-web-jobs#a-namecreatescheduledcronacreate-a-scheduled-webjob-using-a-cron-expression

+0

あなたの助けてくれてありがとう、私はそれを1時間ごとにどのように定義するのですか?また、 'settings.job'はWebプロジェクトまたはコンソールプロジェクトのルートにあるべきですか? –

+0

私の例を1時間に1回(0分0秒で特定する)に変更しました。それはWebJobプロジェクトにあるはずです。だから私はコンソールプロジェクトを想定しています。 – juunas

+0

配備後、どのようにAzureでそのスケジュールを変更しますか? – BrilBroeder

関連する問題