Sha256: 6e2895fbc57351197e5d02e117e846ee2027f4c38a912eac139dd5ff7a7c6478
Contents?: true
Size: 829 Bytes
Versions: 1
Compression:
Stored size: 829 Bytes
Contents
# frozen_string_literal: true require 'active_support/core_ext/module' module PubSubModelSync class Runner class ShutDown < StandardError; end attr_accessor :connector def run trap_signals! preload_framework! start_listeners rescue ShutDown connector.stop end private def start_listeners @connector = PubSubModelSync::Connector.new connector.listen_messages end def trap_signals! handler = proc do |signal| puts "received #{Signal.signame(signal)}" raise ShutDown end %w[INT QUIT TERM].each { |signal| Signal.trap(signal, handler) } end def preload_framework! Rails.application.try(:eager_load!) if defined?(Rails) Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk::Loader) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pub_sub_model_sync-0.1.0 | lib/pub_sub_model_sync/runner.rb |