[英]In Node.js, is setTimeout reliable?
我需要执行许多“ setTimeouts” 60秒。 基本上,我正在创建数据库记录,从现在开始60秒钟,我需要检查数据库记录是否已更改。
我不想实现“作业队列”,因为它很简单,因此我绝对需要在60秒左右检查一下。
它是可靠的,还是会引起问题?
当使用setTimeout
或setInterval
,唯一得到的保证是不会在编程的时间之前执行代码。
但是,它可以稍后开始,因为在时钟滴答时正在执行的其他代码(换句话说,其他代码不会在处理超时或间隔事件的事件处理过程中被中断)。
如果您的代码中没有长时间的阻塞处理,则意味着定时事件将相当准确。 如果您使用的是长时阻塞调用,则node可能不是正确的工具(它是围绕避免阻塞“ synch”调用而设计的)。
您应该尝试使用WorkerTimer.js,它比传统的setInterval或Timeout更适合处理后台进程,并且更准确。
它可以作为node.js npm软件包使用。 https://www.npmjs.com/package/worker-timer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.