class ServerEngine::Worker
Attributes
logger[RW]
server[R]
worker_id[R]
Public Class Methods
new(server, worker_id)
click to toggle source
# File lib/serverengine/worker.rb, line 24 def initialize(server, worker_id) @server = server @logger = @server.logger @worker_id = worker_id end
Public Instance Methods
after_start()
click to toggle source
# File lib/serverengine/worker.rb, line 54 def after_start end
before_fork()
click to toggle source
# File lib/serverengine/worker.rb, line 37 def before_fork end
config()
click to toggle source
# File lib/serverengine/worker.rb, line 33 def config @server.config end
dump()
click to toggle source
# File lib/serverengine/worker.rb, line 57 def dump Sigdump.dump unless config[:disable_sigdump] end
install_signal_handlers()
click to toggle source
# File lib/serverengine/worker.rb, line 61 def install_signal_handlers w = self SignalThread.new do |st| st.trap(Signals::GRACEFUL_STOP) { w.stop } st.trap(Signals::IMMEDIATE_STOP, 'SIG_DFL') st.trap(Signals::GRACEFUL_RESTART) { w.stop } st.trap(Signals::IMMEDIATE_RESTART, 'SIG_DFL') st.trap(Signals::RELOAD) { w.logger.reopen! w.reload } st.trap(Signals::DETACH) { w.stop } st.trap(Signals::DUMP) { w.dump } end end
main()
click to toggle source
# File lib/serverengine/worker.rb, line 80 def main run end
reload()
click to toggle source
# File lib/serverengine/worker.rb, line 51 def reload end
run()
click to toggle source
# File lib/serverengine/worker.rb, line 40 def run raise NoMethodError, "Worker#run method is not implemented" end
spawn(process_manager)
click to toggle source
# File lib/serverengine/worker.rb, line 44 def spawn(process_manager) raise NoMethodError, "Worker#spawn(process_manager) method is required for worker_type=spawn" end
stop()
click to toggle source
# File lib/serverengine/worker.rb, line 48 def stop end