Sha256: c61554f270f0e0ca49623fca391846b9f6a073cdb57592b022c0a57ea67917f5
Contents?: true
Size: 859 Bytes
Versions: 23
Compression:
Stored size: 859 Bytes
Contents
# frozen_string_literal: true require 'active_support/core_ext/module' module PubSubModelSync class Runner delegate :preload_listeners, to: :class attr_accessor :connector def initialize @connector = PubSubModelSync::Connector.new end def run at_exit { connector.stop } trap_signals! preload_listeners start_listeners end def self.preload_listeners Rails.application.try(:eager_load!) if defined?(Rails) Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk::Loader) end private def start_listeners connector.listen_messages end 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 end end
Version data entries
23 entries across 23 versions & 1 rubygems