1.0.8 • Published 4 years ago

worker-communication v1.0.8

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

worker-communication

This module provide bilateral communication with callback between cluster worker and master, node.js child process is supported too.

Installation

npm i worker-communication

Usage

Master

import CPC from 'worker-communication';
import * as cluster from 'cluster';
// or       childProcess from 'child_process'

const cpc = new CPC();

const worker = cpc.tunnel(cluster.fork())
// or          cpc.tunnel(childProcess.fork('./worker.js'));

cpc.onWorker('requestJob', (req, res) => {
    res({
        reqHeader: req,
        timestamp: Date.now()
    }, null);
});

worker.sendJob('idle', 'just relax...');

Worker (cluster worker or child_process.fork())

import CPC from 'worker-communication';

const cpc = new CPC(); 

cpc.onMaster('idle', (req) => {
    console.log(req);
    // output: just relax...
});

let reqHeader = [123, 456];

cpc.sendJob('requestJob', reqHeader, (jobHeader, job) => {
    console.log(jobHeader);
    // output: { reqHeader: [123, 456], timestamp: 1577252484830 }
    console.log(job);
    // output: null
});

Note

Master & worker is relative, a worker can also be a master to the process it forks. So in this scenario, onMater() and onWorker() can be used at the same time to communicate its master and worker.

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago