Node.js child_process.fork()在不同的CPU核心上运行

我有一个运行长时间执行的进程的应用程序。 为了使它更快,我做了简单的数据分片,并且希望并行地运行它们,只需通过.fork()2个相同应用程序的实例。

我在那里有2个Cores机器,并且要确保2个Cores被利用,第一个实例在第一个核心上运行,第二个在第二个核心上运行。

我知道cluster模块,但在这种情况下似乎不相关,因为我不需要HTTP服务运行和它们之间的负载平衡。 只是工作人员(意思是说,他们不需要彼此沟通,发送消息或任何 – 他们只是做HTTP请求和存储数据到数据库)。

有没有可能控制node.js进程需要哪个CPU核心? 如何监视在Mac / Linux?

集群模块正是你所需要的: http : //nodejs.org/api/cluster.html

你需要这个,它是集群API的一个特定部分:

 cluster.setupMaster([settings]) 

https://nodejs.org/api/cluster.html#cluster_cluster_setupmaster_settings

我也写了一个模块来做到这一点,有几个:

https://www.npmjs.com/package/poolio

我的模块运行良好,但API并不那么简单,所以我build议使用核心模块