Azure Service Bus トピックにメッセージを投稿するシステムがあります。トピックには複数のサブスクライバーがあり、メッセージを処理するための webJob を作成しています。
Visual Studio で新しい WebJob プロジェクトを処理すると、キューをチェックするコードを含む「Functions.cs」というクラスが作成されます。トピック内のサブスクリプションをチェックするようにコードを更新しました。
public static void ProcessTopicMessage([ServiceBusTrigger("topic-name", "subscription-name")] string message, TextWriter log)
{
// Processing goes here
}
トピックには複数のサブスクリプションがあり、これを監視して、受信したメッセージごとに異なるアクションを実行する必要があります。これには、サブスクリプションごとに異なる API である API を介したサードパーティ サービスへの接続が含まれます。
例:
topic-name
subscription-1 // Perform action #1
subscription-2 // Perform action #2
subscription-3 // Perform action #3
...
私の質問は、サブスクリプションごとに個別の WebJob を作成する必要があるか、それとも「Functions.cs」クラスにメソッドを追加する必要があるかということです。
同じ WebJob に複数のメソッドがあり、メソッドを非同期にする必要がある場合、パフォーマンスが低下するのではないかと考えています。