childport

0.1.0 • Public • Published

childport

Launch child processes for services that bind to a specified port.

npm install childport

// parent.js
var request = require('request')
  , childport = require('childport')
  ;
 
function finish (e, p) {
  request('http://localhost:3001', function (e, resp, body) {
    if (e) throw e
    if (resp.statusCode !== 200) throw new Error('status not 200, ', resp.statusCode)
  })
}
 
var child = childport.cp(3001, finish).spawn('node', [__dirname+'/child.js'])
child.on('error', function (e) {throw e})
child.stderr.pipe(process.stderr)
// child.js
var http = require('http')
  , childport = require('../')
  ;
 
childport.listen(http.createServer(function (req, resp) {
  resp.statusCode = 200
  resp.end('ok')
}))

childport.listen(server)

This method is to be used in child process scripts. It will parse the specified port and call listen on the server it sent and, on success, let the parent process know it has finish so that it can resolve the specified callback.

Returns the server it was passed for easy chaining.

childport.child_process(port, cb) && childport.cp(port, cb)

Returns a mocked child_process module that will launch the process with identifying information about the port to bind to.

childport.cp(port, cb).spawn

Identical to core's child_process.spawn.

childport.cp(port, cb).fork

Identical to core's child_process.fork.

childport.cp(port, cb).exec

Identical to core's child_process.exec.

childport.cp(port, cb).execFile

Identical to core's child_process.execFile.

Readme

Keywords

none

Package Sidebar

Install

npm i childport

Weekly Downloads

0

Version

0.1.0

License

BSD

Last publish

Collaborators

  • mikeal