【发布时间】:2015-07-19 04:35:03
【问题描述】:
编辑: 我正在简化我的问题,因为虽然@saintedlama 的回复是有用的信息,但它与我试图理解的关于使用多个单个节点进程的内容相切。
问题的关键是:如果应用程序正在使用已经使用 node's native cluster module 运行的子进程,我该如何或可以管理手动生成的子进程?
以下原始问题
我有一个 express.js 应用程序,主要功能是接受 http 请求并通过一些 MongoDB 查询提供 http 响应。为提高性能,该应用使用 node's native cluster module,并在应用启动时作为工作进程跨可用 CPU 生成。
我现在有一些可能长时间运行的特定查询 - 连接到外部服务和 API。
是否值得将这些特定查询生成给他们自己的工作人员(使用 node's child_process)?
如果是这样,这将如何受到集群的现有使用影响?
如果我使用 Monq 或 Agenda 之类的东西设置一个持久工作队列(或者也可以),并且考虑到我正在使用集群,我如何控制哪个进程处理队列?
【问题讨论】:
标签: javascript node.js mongodb express multiprocessing