web-dev-qa-db-ja.com

Azure Webjobsとスケジューラー

非常に簡単な質問:
Azure WebJobsが無料の場合、なぜ誰かがAzure Schedulerを使用するのですか?

「Azure webjobs vs Azure scheduler」に関するトピックが見つかりませんでした

主な違いは、スケジューラーが実行できるすべてがwebjobに含まれていることです。

  • スケジューラーはHTTP呼び出しを行うことができます
  • WebJobはそれ以上のことができます(SQLコマンドの実行など)
33
sports

2016年です。以下の回答は正確ではありません。

WebJobsにはスケジューラも組み込まれ、cron式でスケジュールを定義できます。

Azureに発行する場合、スケジューラーまたはWebJob内部スケジューラーによってWebJobを起動するかどうかを選択できます。

重要な注意: Azureスケジューラには、支払い済みかどうかに応じて1時間または1分の頻度の制限があります。ただし、内部スケジューラの場合、App Serviceでジョブを実行し続けて起動するには、Always Onが必要です。この常時オンのステータスは、価格に影響する場合があります。

15
Sentinel

WebJobsの実際のスケジューリングビットは、スケジューラーの上に構築されます。内部のスケジュールでWebジョブをセットアップすると、スケジューラを使用して開始します。 WebJobsは、実行されるコードをホストする素敵で小さな場所を提供します。実際、Webサイト用のWebJobsを作成する場合、ポータルのスケジューラーを見ると、そこにもリストが表示されます。

また、スケジューラーは、Azureを実行していない他のシステムを呼び出すことができることに注意してください。クラウドサービスで何かを定期的に呼び出す必要がある場合、または何かが他の場所(別のプロバイダーまたはオンプレミス)でホストされている場合でも、スケジューラーでセットアップできます。

コスト面に関しては、スケジューラーにも無料のティアがあります: http://www.windowsazure.com/en-us/pricing/details/scheduler/

30
MikeWo
  1. 連続ジョブは監視され、終了した場合は再実行されます。このようにして、ローカルマシンの「サービス」のように機能します。アプリを監視し、機能させ続けるモジュールがあります。 Always-ONは、サイトの稼働を維持し、Webジョブを継続的に実行するのに役立つ機能です。

  2. スケジューラは、ウェブジョブをトリガーするために使用されます。スケジューラユーザーアカウント(バックエンドアカウントではない)を使用します。このようにして、無料の階層からスケジューラーに移行し、ニーズに合わせて上位の階層にサインアップできます。ただし、本質的には、スケジューラーはすべてhttpsエンドポイント(パブリックですが認証が必要です)にアクセスするだけです。

  3. トリガーされたジョブ(スケジュールされたオンデマンド)は、https呼び出しによって呼び出されます。これらの呼び出しは負荷分散されます-多くのインスタンスを持つWebアプリが負荷分散されるのとほとんど同じ方法です。連続ジョブはデフォルトで同時に実行されますが、シングルトンになるように設定できます。

12
Jaime Espinosa

バージョン2以降のWebjobsでは、Azure Schedulerを使用する理由はありません。実際のところ、Azure Portalはすでにこの機能に(レガシー)のフラグを付けています。

WebJob SDK v2から追加のトリガーが導入されました。それらの1つはTimerTriggerで、CRON式と連携して実行をスケジュールします。この実行モードでは、追加のAzureコンストラクトは不要です。webappをAlwaysOnに設定して、Webjobの実行を保証するだけです。

TimerTriggersと連携するもう1つのAzureサービスは、Azure Functionsです。AzureFunctionsは、サーバーレスでの実行を可能にするWebJob SDKの上に構築されています。

0
kevinj