class QueueManager::Daemon
Public Class Methods
start()
click to toggle source
# File lib/queue_manager/daemon.rb, line 6 def start if running? puts 'Queue manager is already running. To stop it, use rake queue_manager:stop' return false end fork do $running = true File.write(pid_file, Process.pid) logger.info 'Queue manager is running' Signal.trap('TERM') do $running = false remove_pid_file end while $running do QueueManager::Task.handling_queue sleep config.wait end end ensure exit!(1) end
stop()
click to toggle source
# File lib/queue_manager/daemon.rb, line 31 def stop unless running? puts 'Queue manager is not running. To start it, use: rake queue_manager:start' return false end Process.kill('TERM', File.read(pid_file).to_i) remove_pid_file logger.info 'Queue manager is stopped' true rescue false end
Private Class Methods
config()
click to toggle source
# File lib/queue_manager/daemon.rb, line 63 def config QueueManager.config end
logger()
click to toggle source
# File lib/queue_manager/daemon.rb, line 59 def logger QueueManager.logger end
pid_file()
click to toggle source
# File lib/queue_manager/daemon.rb, line 55 def pid_file config.pid_file end
remove_pid_file()
click to toggle source
# File lib/queue_manager/daemon.rb, line 51 def remove_pid_file FileUtils.rm_rf(pid_file) end
running?()
click to toggle source
# File lib/queue_manager/daemon.rb, line 47 def running? File.exist? pid_file end