2 つの node.js Web サーバーがあります。Web サーバー内にデータをキャッシュします。システム時間に基づいてキャッシュのロード/クリアを同期します。すべてのホストの時刻同期を行いました。
次のコードを使用して、15 分ごとにキャッシュをクリアします。
millisTillNexthour = "Calculate millis remaining until next hour"
setTimeout(function() {
setInterval(function() {
cache.clear();
}, 60000*15);
}, millisTillNexthour);
私の期待では、このプロセスが永久に実行されたとしても、1 日の各時間の 15 分ごとにキャッシュがクリアされます。
私の質問は: setInterval が時間の経過とともにドリフトすることはありますか?
例:現在、キャッシュをクリアします10:00 10:15 10:30 10:45 11:00 ......
システム時間の 10:15 ではなく、10:15 にキャッシュをクリアするはずだった setInterval がシステム時間の 10:20 に実行されることはありますか??
これがどのように機能するかわかりません。光を当ててください。私の質問をうまく説明できたと思います。