0

私はお互いにメールを「追加」するシステムを作りたいと思っています。遅延キューセッションあたりの時間量

状況:エンティティが変更されるたびに、そのエンティティの購読者にメールを送信したいと思います。

エンティティがわずか10分(5分/ 10分など)で変更された場合、ユーザは電子メールでスパムする必要はありません。

私は 'キュー'を作成することを考えていました。より正確には、Azure Servicebus を使用することを考えていました。

いくつかのドキュメントを検索した後。私は2つの興味深い特性を見出した。中

  • のSessionId => ID
  • BatchFlushInterval(クライアント側のバッチ処理)

のクライアントは、この期間中に追加メッセージを送信した場合の実体だろう、それが送信したメッセージシングルバッチ '

これは完璧に聞こえました。 このようにして、すべての「エンティティの変更」を1回のバッチで受信します。そして送る単一の電子メールを作ることができた。

しかし、新しい"Azure Service Bus NuGet"ではこのオプションがもう見つからないようです。

私は代替案を探したので、これは「通常の」練習ではないと感じています。

誰かがこの分野で何か経験がありますか? 私はcronジョブを使用する必要はありません。しかし、これが最善の解決策であれば教えてください。

私はこれを本当に広い質問とより多くの「情報の必要性」を知っています。だから、リンクでコメントすれば、私は本当に幸せになれます。事前 ブレヒト

+1

私はこのASBの遅延バッチ処理プロパティまたは参照しているナゲットパッケージを使用していません。標準のhttps://www.nuget.org/packages/WindowsAzure.ServiceBus/を使用しています.BatchFlushIntervalプロパティは、たとえば、メッセージングファクトリをインスタンス化するときの設定として使用できます。 –

答えて

1

おかげでMessage SessionsまたはBatchFlushIntervalがここに取るべきアプローチではないと思います。あなたが探しているのは、複数のメッセージではなく単一の通知を作成するためにメッセージをバッファリングすることです。私は個人的にAzureサービスバスからreceiving a batchに行き、バッチを処理して通知を「追加」する。

関連する問題