module RabbitJobs::MainLoop
Main process loop.
Public Instance Methods
log_daemon_error(error)
click to toggle source
# File lib/rabbit_jobs/main_loop.rb, line 37 def log_daemon_error(error) return unless RabbitJobs.logger RabbitJobs.logger.fatal error ensure abort(error.message) end
main_loop() { || ... }
click to toggle source
# File lib/rabbit_jobs/main_loop.rb, line 23 def main_loop loop do sleep 0.5 next unless @shutdown RabbitJobs.logger.info 'Stopping.' if defined?(amqp_connection) # in worker only amqp_cleanup end yield if block_given? return true end end
shutdown()
click to toggle source
# File lib/rabbit_jobs/main_loop.rb, line 15 def shutdown @shutdown = true end
shutdown!()
click to toggle source
# File lib/rabbit_jobs/main_loop.rb, line 19 def shutdown! shutdown end
startup()
click to toggle source
# File lib/rabbit_jobs/main_loop.rb, line 4 def startup $stdout.sync = true @shutdown = false Signal.trap('TERM') { shutdown } Signal.trap('INT') { shutdown! } true end