No description, website, or topics provided.
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
README.md
daemon.js
package.json
sproc.js

README.md

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