Azure Web Jobs と Azure Scheduler の違いを説明できる人はいますか
2 に答える
Azure Web ジョブ
- Azure Web サイトでのみ利用可能
- 特定の間隔でコードを実行するために使用されます。例: 毎日のコンソール アプリケーション
- ワークロードをトリガーして実行するために使用されます。
- 主に、Web サイトに合わせてスケーリングするか、比較的小さいワークロードに推奨されます。
- 「常時オン」が選択されている場合は永続的に実行できます。それ以外の場合は、20 分のタイムアウトが発生します。
- 実行とスケジュールが必要なコードは一緒に定義されます。
Azure スケジューラ
- Web サイトやクラウド サービスに関連付けられていない
- Web サイトを呼び出したり、ストレージ キューにメッセージを追加したりできます。
- イベントのトリガーまたは小さなワークロードのトリガー (例: キューへの追加) に使用され、通常はより大きなワークロードをトリガーします
- 主に、より複雑なワークロードをトリガーする場合に推奨されます。
- これは単なるトリガーであり、トリガー イベント (キューなど) をリッスンする別の関数を個別にコーディングする必要があります。
多くのインスタンスでは、スケジューラを使用してストレージ キューにプッシュし、各インスタンスのワーカー ロールをキューから外します。これにより、タスクをきめ細かく制御でき、Web サイトの外でスケールを上下させることもできます。
WebJobs を使用すると、サイトに合わせてスケールアップおよびスケールダウンするため、Web サイトのトラフィックが少なくてスケールダウンした場合、バックグラウンド タスクに過剰な負担がかかる可能性があります。
Azure Scheduler - 毎時、毎週金曜日の午前 9:00、1 日 1 回など、明確に定義されたスケジュールで http 呼び出しを簡単にスケジュールする方法を提供します。
Azure WebJobs - Azure Web サイトの同じコンテキストで、小規模から中規模の作業負荷 (.exe、.cmd、.sh、.js などのスクリプトの形式) を実行する方法を提供します (ただし、ホストすることはできます)空のウェブサイトでも)。
WebJob は (while ループのあるプロセスで) 継続的に実行できますが、Azure は、この WebJob が常に実行されていることを確認します ("Always On" が設定されています)。
また、Azure スケジューラと Azure WebJobs の間にも統合があり、有限の作業を実行する WebJob があり、schduler がこの作業のスケジューリング (WebJob の呼び出し) を担当します。
要約すると、スケジューラは作業のスケジュールを設定するためのものであり、Web ジョブは作業負荷を実行するためのものです。