node package manager

supervisord-eventlistener

Listens for events from supervisord and emits them

node-supervisord-eventlistener

This library implements a Supervisord event listener for Node.js.

npm install supervisord-eventlistener

Sample Node.js Program

var supervisor = require("supervisord-eventlistener");
supervisor.on("event", function(type, headers, data) {
    //Gets called for all events 
    console.error("Event type:", type);
    console.error("Headers:", headers);
    console.error("Data:", data);
});
supervisor.on("PROCESS_STATE_STOPPING", function(headers, data) {
    //Only called for PROCESS_STATE_STOPPING events 
    console.error("Process state stopping");
    console.error("Headers:", headers);
    console.error("Data:", data);
});
supervisor.listen(process.stdin, process.stdout);

Sample Supervisor Configuration

[eventlistener:monitoring]
command = /usr/bin/nodejs /home/user/your_node_program.js
events = PROCESS_STATE,PROCESS_COMMUNICATION,SUPERVISOR_STATE_CHANGE

List of event types: click here

See http://supervisord.org/events.html for more documentation.