2012-05-03 2 views
2

明らかに、私が望む日付までに遅延をミリ秒数に設定することはできますが、実際にはうまくいかない場合があります。最大値が問題になります。 Kueがそれを行えない場合、私はクライアントが直面しているメインデータベースにあまりにも遠すぎる日付別のジョブを格納することができます。あるいは3番目のストアかもしれません。このプロセス。Node.jsとKueを使用すると、タスクを実行したい日付を指定する方法はありますか?

更新:これは愚かな質問です。私は頭の中ですぐに数学を行い、恐ろしく失敗しました。私は尋ねる前に正確に計算したはずです。

+1

に関係なく悪い質問ではありません。 – wprl

答えて

2

the max integer in JavaScriptのサイズのため、私はそれについて心配しません。

The documentation states that the dates are relative to now,ですので、今後285,427.017年(9,007,199,254,740,992ミリ秒)まで開始するようにジョブをスケジュールできます。たとえそれがもっともらしいのですが、日付は日付がより小さくても、ちょうど243,090.534年の97,671,189,983,570,992ミリ秒のかなり大きい値に変換されます。

時間賢い私は2038

+0

私は尋ねる前に仕事をスケジューリングできる時間を正確に計算できませんでした。 ;) –

3

に32ビットの第2のオーバーフローの詳細とみなされるだろうKUEは、残念ながら、仕事のスケジュールを設定する他の方法を持っていません。私は整数をオーバーフローさせるようなスケジューリングが必要な仕事がどれだけあるのだろうかと思います。 KueがRedisに支えられていることを考えれば、私はおそらくそれを将来何年もの仕事をスケジュールすることに頼るつもりはないでしょう。

実際に実行する必要がある場合は、ジョブとともに実行日を保存し、遅延をできるだけ高く設定することができます。実行する時間が来たら、その日付が経過したかどうかをチェックし、残っていない場合は残りのmsでジョブを再キューします。残量がまだ高すぎる場合は最大値で再キューします。

+0

いいえ、私は単に私が尋ねる前に私が仕事をスケジュールすることができる範囲をどれだけ計算できなかったのですか。愚かな質問、tbh。 –

関連する問題