sproc

0.1.2 • Public • Published

sproc

This module is useful when you want to spawn a single daemon and be able to connect to it from other processes.

workflow:

  • attempt to connect to daemon
  • if connection fails, spawn daemon (return to first step)
  • upon connection, callback with a stream

Install

npm install sproc

Use

daemon.js

 
// echo daemon
 
var clients = 0;
 
module.exports = function(options, stream) {
  clients++;
 
  stream.write(clients + ' clients');
  stream.on('end', function() {
    clients--;
    if (clients > 0) {
      stream.write(clients + ' clients');
    } else {
      process.exit();
    }
  });
 
  stream.pipe(stream, { end: false });
};
 

main.js

 
var sproc = require('sproc');
 
sproc({
  script: './daemon',
  port: 4499,
}, function(proc) {
  proc.stream.write('hello');
  stream.on('data', console.log); // outputs hello
});
 

options

  • port - port to use for listening/connecting (default: 4499)
  • keepProcessReference - do not detatch from the daemon (default: false)
  • log - a function (optional)

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i sproc

Weekly Downloads

2

Version

0.1.2

License

MIT

Last publish

Collaborators

  • tmpvar