cluster_master

0.1.1 • Public • Published

ClusterMaster

Basic cluster management in one line:

return if require('cluster_master').runMaster()
# worker's code here 

By default it'll spawn os.cpus().length workers and respawn every dead worker.

Out of box you'll get safe zero downtime reload:

  • send SIGHUP to process
  • cluster will try to spawn new worker
  • if new worker is ok then cluster will gracefully close one running worker & 'll reload all old workers
  • if new forker failed it won't destroy old workers

For more stuff see source.

Use forever

Oops! Seems like forever still does not have proper support for specifying kill signal.

However you can specify pid file for ClusterMaster and send hups yourself:

return if require('cluster_master').runMaster(pidfile: 'pids/cluster.pid')

May be later: Once cluster is started with forever

forever start -c coffee server.coffee

it can be reloaded with

forever stop --killSignal SIGHUP -c coffee server.coffee

License

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.1
    1
  • 0.1.0
    0

Package Sidebar

Install

npm i cluster_master

Weekly Downloads

1

Version

0.1.1

License

MIT

Last publish

Collaborators

  • printercu