• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

payrollhero / dispatch-rider / #3015

02 Sep 2022 11:22PM UTC coverage: 0.409% (-84.7%) from 85.154%
#3015

push

web-flow
Layout/SpaceInsideStringInterpolation-20220901233630 (#89)

* :police_car: regenerate rubocop todo

* :police_car: Layout/SpaceInsideStringInterpolation

* :police_car: regenerate rubocop todo

Co-authored-by: Rubocop Challenger <rubocop@payrollhero.com>

0 of 1 new or added line in 1 file covered. (0.0%)

1529 existing lines in 63 files now uncovered.

7 of 1711 relevant lines covered (0.41%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/lib/dispatch-rider/subscriber.rb
1
# This class takes care of the subscribing side of the messaging system.
UNCOV
2
module DispatchRider
×
UNCOV
3
  class Subscriber
×
UNCOV
4
    attr_reader :queue_service_registrar, :dispatcher, :demultiplexer
×
5

UNCOV
6
    def initialize
×
UNCOV
7
      @queue_service_registrar = DispatchRider::Registrars::QueueService.new
×
UNCOV
8
      @dispatcher = DispatchRider::Dispatcher.new
×
UNCOV
9
    end
×
10

UNCOV
11
    def register_queue(name, options = {})
×
UNCOV
12
      queue_service_registrar.register(name, options)
×
UNCOV
13
      self
×
UNCOV
14
    end
×
15

UNCOV
16
    def register_handler(name)
×
UNCOV
17
      dispatcher.register(name)
×
UNCOV
18
      self
×
UNCOV
19
    end
×
20

UNCOV
21
    def register_handlers(*names)
×
UNCOV
22
      names.each {|name| register_handler(name)}
×
UNCOV
23
      self
×
UNCOV
24
    end
×
25

UNCOV
26
    def setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler)
×
UNCOV
27
      queue = queue_service_registrar.fetch(queue_name)
×
UNCOV
28
      @demultiplexer ||= DispatchRider::Demultiplexer.new(queue, dispatcher, error_handler)
×
UNCOV
29
      self
×
UNCOV
30
    end
×
31

UNCOV
32
    def process
×
UNCOV
33
      register_quit_trap
×
UNCOV
34
      register_term_trap
×
UNCOV
35
      register_int_trap
×
36

UNCOV
37
      demultiplexer.start
×
UNCOV
38
    end
×
39

UNCOV
40
    private
×
41

UNCOV
42
    def register_quit_trap
×
UNCOV
43
      Signal.trap("QUIT") do
×
44
        # signal number: 3
45
        logger.info "Received SIGQUIT, stopping demultiplexer"
×
46
        demultiplexer.stop(reason: "Got SIGQUIT")
×
UNCOV
47
      end
×
UNCOV
48
    end
×
49

UNCOV
50
    def register_term_trap
×
UNCOV
51
      Signal.trap("TERM") do
×
52
        # signal number: 15
53
        logger.info "Received SIGTERM, stopping demultiplexer"
×
54
        demultiplexer.stop(reason: "Got SIGTERM")
×
UNCOV
55
      end
×
UNCOV
56
    end
×
57

UNCOV
58
    def register_int_trap
×
UNCOV
59
      @already_interrupted = false
×
UNCOV
60
      Signal.trap("INT") do
×
61
        if @already_interrupted
×
62
          logger.info "Received SIGINT second time, aborting"
×
63
          exit(0)
×
UNCOV
64
        else
×
65
          logger.info "Received SIGINT first time, stopping demultiplexer"
×
66
          demultiplexer.stop(reason: "Got SIGINT")
×
UNCOV
67
        end
×
68
        @already_interrupted = true
×
UNCOV
69
      end
×
UNCOV
70
    end
×
71

UNCOV
72
    def logger
×
73
      DispatchRider.config.logger
×
UNCOV
74
    end
×
UNCOV
75
  end
×
UNCOV
76
end
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc