2016-04-08 3 views
0

ときにアラートが、私はMongoDBのに新しいですし、のMongoDB:レコードのカウントが高い

boxname 
time_create 
box_data 

以下のようなテーブルを持っている基本的に私たちはここにログインしていることはどのようなデータを送信し、どのような時にされたボックスです。

私の要件は、ボックスが、おそらく何かが間違っているか疑いがあることを示すしきい値より多くの要求を送信した場合、システムにアラートを作成することです。私は10分間の時間の間、ボックスのレコードの数を得ることができます - しかし、このクエリは異なります - すべてのボックスのチェック10分ごとにチェックし、しきい値を超えているかどうかを確認します。

10分後に定期的にポーリングする必要がありますか?プログラムを無限に実行して#と警告する - 同じものを実装するための最良の方法は何でしょうか?

このような要件の実装にはどのようなメカニズムが最適でしょうか?

答えて

0

この問題を解決するには、クエリスケジューラが必要です。

つまり、x分ごとにクエリを実行し、いずれかのボックスがしきい値条件に一致するかどうかを確認する必要があります。

スケジューラの実装は、現在のソリューションアーキテクチャをベースにしています(私はc#にありますが、スケジューラを実装するためにHangFireが選択されます)。

+0

https://www.npmjs.com/package/mongo-scheduler?しかし、このNodeJSプログラムは無限に実行する必要があります – Prakash

+1

- すべてのスケジューラ(cron)も無限に実行されます - btw - mongoがインストールされているボックスでcronを使用してクエリを実行し、電子メールアラートを発生させることができます – profesor79

関連する問題