isaacs / cluster-master

Take advantage of node built-in cluster module behavior
ISC License
276 stars 44 forks source link

emit events on resize, restart, quit, quitHard #10

Open jeffbski opened 11 years ago

jeffbski commented 11 years ago

In order for other cleanup work to be done, fire events on the tick prior to performing the work.

Return emitter from clusterMaster constructor.

Also provide getter clusterMaster.emitter() which returns the same emitter.

Emit events when clusterMaster methods (resize, restart, quit, or quitHard) are invoked.

The event is emitted to allow additional cleanup in your code on the tick prior to the method being invoked.

// listen to events to additional cleanup or shutdown
clusterMaster.emitter()
  .on('resize', function (clusterSize) { })
  .on('restart', function () { })
  .on('quit', function () { })
  .on('quitHard', function () { });

Also make sure repl commands and signal listeners do the same.

Add quitHard to repl since it was missing.