簡體   English   中英

在Node.js中,setTimeout是否可靠?

[英]In Node.js, is setTimeout reliable?

我需要執行許多“ setTimeouts” 60秒。 基本上,我正在創建數據庫記錄,從現在開始60秒鍾,我需要檢查數據庫記錄是否已更改。

我不想實現“作業隊列”,因為它很簡單,因此我絕對需要在60秒左右檢查一下。

它是可靠的,還是會引起問題?

當使用setTimeoutsetInterval ,唯一得到的保證是不會在編程的時間之前執行代碼。

但是,它可以稍后開始,因為在時鍾滴答時正在執行的其他代碼(換句話說,其他代碼不會在處理超時或間隔事件的事件處理過程中被中斷)。

如果您的代碼中沒有長時間的阻塞處理,則意味着定時事件將相當准確。 如果您使用的是長時阻塞調用,則node可能不是正確的工具(它是圍繞避免阻塞“ synch”調用而設計的)。

您應該嘗試使用WorkerTimer.js,它比傳統的setInterval或Timeout更適合處理后台進程,並且更准確。

它可以作為node.js npm軟件包使用。 https://www.npmjs.com/package/worker-timer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM