Class: Daemon::MasterProcess::Listen
- Inherits:
-
Object
- Object
- Daemon::MasterProcess::Listen
- Defined in:
- lib/onapp/engine/master_process/middleware/listen.rb
Instance Method Summary (collapse)
- - (Object) call(env, block = true)
-
- (Listen) initialize(app = proc {})
constructor
A new instance of Listen.
Constructor Details
- (Listen) initialize(app = proc {})
Returns a new instance of Listen
6 7 8 |
# File 'lib/onapp/engine/master_process/middleware/listen.rb', line 6 def initialize(app = proc {}) @app = app end |
Instance Method Details
- (Object) call(env, block = true)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/onapp/engine/master_process/middleware/listen.rb', line 10 def call(env, block = true) env.start Daemon::Utils::Signal.trap(::Daemon::MasterProcess::START_SIGNAL) { env.start } Daemon::Utils::Signal.trap(::Daemon::MasterProcess::STOP_SIGNAL) { env.stop } Daemon.callbacks.on_stop_command { env.stop } Daemon.callbacks.on_start_command { env.start } Daemon.callbacks.on_reload_command do Daemon::CommandsServer.clients.each do |client| begin client.request('reload') rescue => ex env.logger.error("Can't send command #{ex.class}: #{ex.}\n#{ex.backtrace.join("\n")}") end end end Daemon.management_commands.subscribe Daemon.callbacks.invoke_onapp_engine_up Daemon::Utils::EM.thread.join if block end |