2017-09-23 17 views
0

私のデータベース内の項目を確認したいx分(作成後はy分)。時間差を確認する最も効率的な方法

私はこれを行うための2つの方法を考え出しました。効率/スピードが向上するかどうかはわかりません。

最初はモデルに日付フィールドを格納し、cronジョブの内部でおきx分を

Model.find({time_created > current_time - y}) 

ような何かを行うことです。

xyに基づいて、さらに多くの回数を記録するフィールドを保持するフィールドは、times_to_checkです。このオブジェクトはチェックする必要があります。 Datesの最初の比較は時間がかかるだろうので、これらの二つは同等であるかもしれない理由について

Model.find({times_to_check> 0}) 

私の考えはあるが、オブジェクトがチェックされた後に、第2の1は、データベースへの書き込みが必要です。

答えて

0

どちらの方法でも、コレクションを照会する時間が来ているかどうかを確認するために、データベースを継続的にチェックする必要があります。 「2番目のソリューション」では、コレクションデルタの決定方法を参照するだけで、バックグラウンドプロセスを実行する方法がありません。

UNIXクーロンジョブを実行しているが、フォールトトレラントであることを確認して、アプリケーションが起動しているときに実際に実行していることを確認してください。以下は、それをどのように処理するかについてかなり良い答えです。私はあなたのcronジョブは数分、数時間または数日のx個のために実行されていない場合、アプリケーションが反応しない方法を尋ねることに基づいて

How do I write a bash script to restart a process if it dies?

。この場合、アプリケーションはどのように復旧しますか?

関連する問題