1.0.3 • Published 7 years ago

promise-process-pool v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

promise-process-pool 基于 promise 的进程池实现

NPM

NPM version Build Status

Usage

默认启动的子文件为 ./subProcess.js 在进程中默认的函数为 main

"use strict";
const Pool = require("promise-process-pool");
let tasks1=[1,2,3,4,5];
// fork(./subProcess.js) 
// 并将 task1 传入 subProcess.js 中的 main 函数
var p = new Pool() 
p.run(tasks1).then(arr=>{
    console.log(arr);
});

也可以自定义进程池函数

// 进程池上线为 8
// fork(./sub.js) 
// 并将 task1 传入 sub.js 中的 myMethod 函数
var p = new Pool(8,"./sub.js","myMethod") 
p.run(tasks1).then(arr=>{
    console.log(arr);
});

规定, 一个子进程 send 出来的消息必须携带 err 字段 这里提供一个模板

subProcess.js:

let subProcess = {}

subProcess.main = function (task) {
    process.send({ err: false, task: task });
}

process.on('message', info => {
    subProcess[info.method](info.task) // info.method 为父进程传递进来的 method 参数
});