Skip to content

TimBeyer/node-process-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-process-stream

Usage

Consumer

const multiprocessSubject = require('node-process-stream').multiprocessSubject;
const NUM_WORKERS = 4;

// Source stream
const source = Rx.Observable.repeat({
  data: 30
}, 2000);

// Set up subject to stream data through workers
const subject = multiprocessSubject(require.resolve('./lambda'), NUM_WORKERS);

// Listen to results
const subscription = subject.subscribe(function (message) {
  console.log(message.result);
});

// Connect source with worker subject and start processing data
source.subscribe(subject);

Worker

const processLambda = require('node-process-stream').processLambda;
const doWork = require('./do-work');  // Sync or promise

processLambda(function (data) {
  return doWork(data);
});

About

Pipe RxJS streams through multiple child processes because you can

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors