Nothing's plumb meaningless
Miss any of our Open RFC calls?Watch the recordings here! »

fork

1.3.1 • Public • Published

fork

buildstatus

A simple module that gives a clean request/response api for dealing with a child_process that you want to fork. It comes with built in retry support using back for backoff to try and ensure determinism. Works best when used with forkee for the child process.

install

npm install fork --save

Example Usage

//
// This could also just be a path but we encourage module use :)
//
var childToFork = require.resolve('myChildProcModule');
var Fork = require('fork');
//
// Specify retries and backoff (useful for network based operations);
//
var message = { action: 'start', whatever: 'blahblah' };
 
var fork = new Fork({
  path: childToFork,
  retries: 3,
  backoff: true})
  .fork(message)
  .on('error', function(err) { console.error(err) })
  .on('retry', function () { console.log('retrying')})
  .on('response', function (message) { console.dir(message) });
 
//
// If the `forkee` child process sends an event, it gets emit on the `fork` instance.
// If the forkee instance sent a `website:fetched` message
//
fork.on('website:fetched', function (message) {
  // Do something with `message` object like log it or dispatch to an external
  // service
});
 
//
// You can also use a simple callback api on the `start`/`fork` method!
//
var fork2 = new Fork(childToFork).start(message,
  function(err, returnMessage) {
  if (err) {
    return console.error(err);
  }
  console.dir(returnMessage);
});
 

Keywords

none

Install

npm i fork

DownloadsWeekly Downloads

19

Version

1.3.1

License

MIT

Last publish

Collaborators

  • avatar