Socket
Socket
Sign inDemoInstall

respawn-group

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

respawn-group

Manage a group of respawn monitors


Version published
Weekly downloads
3
increased by200%
Maintainers
1
Weekly downloads
 
Created
Source

respawn-group

Manage a group of respawn monitors

npm install respawn-group

Usage

var regroup = require('respawn-group');
var group = regroup();

group.add('test', ['node', 'server.js']);
group.start('test');

API

  • regroup(defaults) -> group Instantiate a new respawn group. All opts will inherit from defaults

  • group.add(id, command, opts) -> mon Add a new respawn monitor. See respawn for more information. If you add a new monitor with the same id as an old one it will be used when the old monitor stops.

  • group.remove(id, cb) Remove a monitor

  • group.start(id) -> mon Start a monitor

  • group.stop(id, cb) Stop a monitor

  • group.restart(id) -> mon Gracefully restart a monitor

  • group.get(id) -> mon Get a monitor

  • group.has(id) -> bool True is group has monitor

  • group.list() -> array List all monitors

  • group.shutdown(cb) Stop all services and ignore all following starts

Events

  • group.on('start', mon) Monitor has started. mon.id contains the id of the monitor

  • group.on('stop', mon) Monitor is fully stopped

  • group.on('crash', mon) Monitor has crashed

  • group.on('restart', mon) Monitor is being restarted

  • group.on('sleep', mon) Monitor is sleeping

  • group.on('spawn', mon, process) Monitor has spawned a child process

  • group.on('exit', mon, code, signal) Monitors child process has exited

  • group.on('stdout', mon, data) child process stdout has emitted data

  • group.on('stderr', mon, data) child process stderr has emitted data

  • group.on('warn', mon, err) Monitor has a warning

  • group.on('finalize', mon) A monitor is fully stopped and being garbage collected. Happens if you call remove or updates a monitor

Updating existing monitors

To update an existing monitor simply add it again with the same id

group.add('test', ['node', 'server.js']);

// ... wait a bit ...
// now lets update test

group.add('test', ['node', 'server2.js']);
group.restart('test'); // you need to restart test for the new monitor to take over
                       // this will trigger a 'finalize' event for the old monitor

License

MIT

Keywords

FAQs

Package last updated on 05 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc