Class: Miu::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/miu/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Server

Returns a new instance of Server.



9
10
11
# File 'lib/miu/server.rb', line 9

def initialize(options = {})
  @options = options
end

Instance Attribute Details

#forwarderObject (readonly)

Returns the value of attribute forwarder.



7
8
9
# File 'lib/miu/server.rb', line 7

def forwarder
  @forwarder
end

#optionsObject (readonly)

Returns the value of attribute options.



6
7
8
# File 'lib/miu/server.rb', line 6

def options
  @options
end

Instance Method Details

#closeObject



26
27
28
# File 'lib/miu/server.rb', line 26

def close
  @forwarder.close
end

#register_signal_handlersObject



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/miu/server.rb', line 30

def register_signal_handlers
  %w(INT TERM HUP QUIT).each do |sig|
    trap(sig) do
      close
      exit
    end
  end

  at_exit do
    Logger.info 'Quit...'
  end
end

#runObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/miu/server.rb', line 13

def run
  Logger.info "Starting Miu #{Miu::VERSION} (ZeroMQ #{ZMQ::LibZMQ.version.values.join('.')})"
  Logger.info "Publish on #{@options[:pub_host]}:#{@options[:pub_port]}"
  Logger.info "Subscribe on #{@options[:sub_host]}:#{@options[:sub_port]}"

  register_signal_handlers

  @forwarder = Forwarder.new @options
  @forwarder.run
rescue => e
  Miu::Logger.exception e
end