現在私はasp.netを使用してWebApiプロジェクトに取り組んでいます。私は、迅速かつ簡単に私のAPIを維持するために、webjobsにすべての非タイムクリティカルで長期的な操作を移動したい。多くのQueueTrigger悪い練習でAzure WebJobs?
たとえば、特定のリソースを作成すると、即座に作成され(エンティティステータス:作成/プロビジョニング)、新しいキューメッセージがエンキューされます。これで、Webジョブはキュー上のメッセージを受け取り、プロビジョニングタスクから開始します。ジョブが成功または失敗した後、リソース/エンティティが更新されます(ステータス:完了/失敗)。
何も特別なことはありません。しかし今、私は、現時点で計算され、計算されたジョブに、統計やレポートを実現するような部品を動かしたいと思っています。
私は別々のキューでwebjobsに時間が重要ではないが、これらすべてのタスク、たとえば移動:
ProvisioningQueue UpdateStatisticsA CreateReportB ...
そう持っている悪い習慣です一度に多くのキュー(20-50)(それらはすべて常にポーリングされ/チェックされます)。分かりやすくするために、メッセージごとのキュー。悲しいことに、私は、同じキューを聴いている異なるジョブ・ファンクションを作成する方法/例を見つけられませんでした。また、私は何も良い/悪い多くのキューを使用することについては見つかりませんでした。 1-3のジョブ機能を持つ例のみ(画像変換、サイズ変更など)。
紺碧のサービスバスも(トピックのため)良い音です。私はwebjobsとストレージのキューを使って、正しいか良い方法を行っているか分かりません。私が望むのは、webapiから多くの時間がかからず、長時間実行されているタスクを切り離すことです。
ありがとうございました!
詳細な回答ありがとうございます。現在、私は分離されたwebjobプロジェクトを持っており、それは分離されたwebappとサービスプランに配備されています。今のところ私は同じ仕事にすべてを入れるための道を進み、必要に応じて、負荷が上がるとすぐに上記のような複数の仕事のプロジェクトに単一の仕事のプロジェクトをリファクタリングします。 – essmd