class PubSubModelSync::Runner
Attributes
connector[RW]
Public Class Methods
new()
click to toggle source
# File lib/pub_sub_model_sync/runner.rb, line 9 def initialize @connector = PubSubModelSync::Connector.new end
preload_listeners()
click to toggle source
# File lib/pub_sub_model_sync/runner.rb, line 20 def self.preload_listeners Rails.application.try(:eager_load!) if defined?(Rails) Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk::Loader) end
Public Instance Methods
run()
click to toggle source
# File lib/pub_sub_model_sync/runner.rb, line 13 def run at_exit { connector.stop } trap_signals! preload_listeners start_listeners end
Private Instance Methods
start_listeners()
click to toggle source
# File lib/pub_sub_model_sync/runner.rb, line 27 def start_listeners connector.listen_messages end
trap_signals!()
click to toggle source
# File lib/pub_sub_model_sync/runner.rb, line 31 def trap_signals! handler = proc do |signal| puts "PS_MSYNC ==> received #{Signal.signame(signal)}" exit end %w[INT QUIT TERM].each { |signal| Signal.trap(signal, handler) } end