Node多进程相关

现状:

  目前使用child_process.fork实现多进程,一个center.js负责任务分配及相关状态管理,一个worker.js负责任务执行。

  center.js结构:

  1) 一个task_queue变量保存不同worker所需的数据

  2) 一个run函数生成多个worker并分配数据。这里需要考虑worker串行执行或并行执行,串行执行是因为有时候跑多个worker时访问公共资源(如MongoDB且数据量特别大TODO1:这里应该要使用数据库切分)会相互影响执行速度。实际上串行执行也称不上是多进程了。

  3)一个dealMessage函数处理worker返回的message

  worker.js结构:

  1)数据库连接,关键变量初始化

  2)fillQueue

  3)runQueue

  4) 各种处理函数

  5) exit函数处理错误以及返回

收获:

  1)日志的处理

  2)多进程特别是需要跑很久的程序需要良好的错误恢复机制

TODO:

  TODO2:每个worker.js相当于独立进程,无法通过center.js进行管控,比如:干掉center.js,worker.js还在跑,目前的方法是写了个Bash脚本来Kill掉失去控制的worker.js

  TODO3: 如何让所有worker.js共享一个大字典

时间: 2024-08-27 21:47:10

Node多进程相关的相关文章

准备要看的node.js相关资料

node.js电子书 了不起的Node.js 深入浅出Node.js node.js入门经典 node.js开发指南 node.js相关优秀博文 官网 Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js模块排行榜,方便找出你想要的模块 nodejs多线程,真正的非阻塞 浅析nodejs的buffer类 利用libuv编写异步多线程的addon实例 Node.js中exports与m

node.js相关资料汇总

node.js API 英文原版 http://nodejs.org/api/all.html node.js API 中文翻译 http://nodeapi.ucdok.com/#/api/ node.js API 中文翻译下载 http://download.csdn.net/detail/bad19876414641/4608699 javascript API 下载 http://pan.baidu.com/share/link?shareid=1669066489&uk=4261436

Node.js相关——package概念及NPM

1. package 包 CommonJS的包规范允许我们将一组相关的模块组合到一起,形成一组完整的工具.CommonJS的包规范由 包结构 和 包描述文件 两个部分组成. 1.1 包结构 包实际上就是一个压缩文件,解压以后还原为目录.符合规范的目录,应该包含如下文件. package.json  描述文件,必需 bin  文件夹,内存放可执行二进制文件,一般在工具包中存在,非必需 lib 文件夹,内存放js代码,非必需 doc   文件夹,内存放文档,非必需 test 文件夹,供单元测试,非必

JavaScript中node的相关属性

1,childNodes childNodes属性将返回一个数组,这个数组包含给定元素节点的全体子元素. 检索body元素的第一个子节点: var body_element=document.getElementByTagName("body")[0]; body元素有几个子元素 var body_element_length=body_element.lchildNodes.length; 2,noteType 检索节点 的类型 alert(body_element.noteType

Python多进程相关的坑

Python的multiprocessing模块实现了多进程功能,但官方文档上只有一些比较简单的用法,主要是使用函数作为process的target,而如何在class中使用多进程并没有多讲解.google出两篇比较详细的文章,建议从它们入门: https://pymotw.com/2/multiprocessing/basics.html https://pymotw.com/2/multiprocessing/communication.html 下面记录一下自己这周在python多进程上碰

【Node.js】和node.js相关的常识

Node.js与io.js那些事儿 http://www.infoq.com/cn/articles/node-js-and-io-js/ 官网 https://nodejs.org/en/ Node.js发展历程与版本演化 http://www.jianshu.com/p/5b9b245fcefa 为什么 node.js 的版本号更新得那么快? https://www.zhihu.com/question/38702343/answer/77725217 Node.js ChangeLog h

Node.js相关——CommonJS规范

1. CommonJS规范产生背景 在后端,JavaScript的规范远远落后并且有很多缺陷,这使得难以使用JavaScript开发大型应用.比如: 没有模块系统 标准库较少 没有标准接口 缺乏包管理系统 CommonJS规范 的提出,主要是为了弥补JavaScript没有标准的缺陷.CommonJS API将通过定义处理许多常见应用程序需求的API来填补这一空白,最终提供与Python,Ruby和Java一样丰富的标准库.以达到像Python.Ruby和Java那样具备开发大型应用的基础能力,

多进程相关

#一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬件的竞争变得有序 #二 多道技术: 1.产生背景:针对单核,实现并发 ps: 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定. 2.空间上的复用:如内存中同时有多道程序 3.时间上的复用:复用一个cpu的时间片 强调:遇到io切,占用cpu时间过

node相关的精典材料

node.js电子书 了不起的Node.js 深入浅出Node.js node.js入门经典 node.js开发指南 node.js相关优秀博文 官网 Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js模块排行榜,方便找出你想要的模块 nodejs多线程,真正的非阻塞 浅析nodejs的buffer类 利用libuv编写异步多线程的addon实例 Node.js中exports与m