class Forkworker::Worker
Public Instance Methods
work!(worker_data, &block)
click to toggle source
# File lib/forkworker/worker.rb, line 5 def work!(worker_data, &block) @worker_data = worker_data @running = true update_title("spawned") traps instance_eval(&block) exit(0) end
Private Instance Methods
traps()
click to toggle source
# File lib/forkworker/worker.rb, line 18 def traps trap(:TERM) do @running = false update_title end end
update_title(status = nil)
click to toggle source
# File lib/forkworker/worker.rb, line 25 def update_title(status = nil) @last_status = status if status run_state = @running ? 'running' : 'shutting down' $PROGRAM_NAME = "Worker ##{Process.pid} | #{run_state} | #{@last_status}" end