猿问

Nodejs setInterval 每 30 秒重复一次任务

我构建了一个应该执行多个任务的 nodejs 应用程序。

我的 app.js 有一个对管理器模块的函数调用,用于控制这些任务。

我想从我的 app.js 调用该函数并每 30 秒执行一次这些任务。

就像是:

setInterval(manager.tasks(), 30000);

我的问题是,如果使用 setInterval 会给我带来任何性能问题(降低计算机速度、阻塞资源或任何其他原因)

有没有更有效的方法来做到这一点,或者 setInterval 好吗?


波斯汪
浏览 503回答 3
3回答

忽然笑

这完全取决于您在 setInterval 中执行的函数。如果是 I/O 绑定操作,那么你不必太担心,因为 libuv 会自己处理但是如果它是 CPU 绑定的,那么我建议你使用 child_process api 来分叉一个新的子进程并在其中做你的事情那。

尚方宝剑之说

setInterval 在标准节点 js 中实现,你不会有任何性能/阻塞问题,大多数库也使用 setInterval
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答