UNPKG

supe-addon-start-citizen-signal

Version:

Supe Addon: Supervisors can start registered citizens via signal

19 lines (13 loc) 761 B
module.exports = function( supervisor, signal_to_watch ){ if( ! signal_to_watch || typeof signal_to_watch != 'string' ) signal_to_watch = 'START-CITIZEN'; supervisor.noticeboard.watch( 'citizen-signal', signal_to_watch, function( msg ){ var envelope = msg.notice; if( envelope.signal !== signal_to_watch ) return; var citizen_to_start = envelope && envelope.data && envelope.data.citizen ? envelope.data.citizen : false, citizen = supervisor.get( citizen_to_start ); if( ! citizen ) throw new Error( 'citizen "' + citizen_to_start + '" is not registered' ); var is_citizen_running = citizen.hasOwnProperty('ref'); if( is_citizen_running ) return; else supervisor.start( citizen_to_start ); }); }