在Node.js中运行单独线程的最佳方法是什么?

时间:2019-12-06 10:59:55

标签: javascript node.js multithreading

我有一个react应用程序,我需要一个主线程之外的线程/进程来每小时甚至每天运行一些功能。

无论是使用Java还是其他应用程序创建新的API,还是使用js的setInterval()技术,我都不知道该如何实现。我也找到了nodejs Worker Threads。但是我不知道实现它的最佳方法是什么。

该过程本身是从公共API获取数据(数组),并定期处理数据,这将是一个“保持在线”过程,因为我想在云中运行它并保持长时间在线。

那么,我对如何实现这一点有什么建议吗?

非常感谢您。

2 个答案:

答案 0 :(得分:1)

您可以使用此库Node Schedule

或者您可以使用内置在lib child_process

中的node.js

spawn(), exec(), execFile(), and fork()

答案 1 :(得分:1)

如果要使用线程,则最新版本的node.js支持worker_threads。如果您想使用单独的过程,那么child_process是您所需要的。

此处是有关如何parse json using worker_thread的文章。使用相同的方法,您可以在单独的线程中执行任何CPU密集型任务,而不会阻塞主线程。