Class: RubyRabbitmqJanus::Tools::Cluster

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/rrj/tools/gem/cluster.rb

Overview

# Manage Janus instance

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCluster

Initalize object for managing each instance to Janus



14
15
16
17
18
19
20
21
22
# File 'lib/rrj/tools/gem/cluster.rb', line 14

def initialize
  @current_instance = nil
  config = Config.instance
  @enable = config.cluster
  @number = config.number_of_instance
  @sessions = []
rescue
  raise Errors::Tools::Cluster::Initializer
end

Instance Attribute Details

#enableObject (readonly)

Returns the value of attribute enable.



11
12
13
# File 'lib/rrj/tools/gem/cluster.rb', line 11

def enable
  @enable
end

#numberObject (readonly)

Returns the value of attribute number.



11
12
13
# File 'lib/rrj/tools/gem/cluster.rb', line 11

def number
  @number
end

#sessionsObject (readonly)

Returns the value of attribute sessions.



11
12
13
# File 'lib/rrj/tools/gem/cluster.rb', line 11

def sessions
  @sessions
end

Instance Method Details

#create_sessionsObject

Create all session. One by instance



25
26
27
28
29
30
31
32
# File 'lib/rrj/tools/gem/cluster.rb', line 25

def create_sessions
  (1..@number).each do |janus_instance|
    @current_instance = janus_instance
    @sessions.push create_session_instance
  end
rescue
  raise Errors::Tools::Cluster::CreateSessions
end

#queue_admin_to(instance = nil) ⇒ Object

Specify a name to admin queue



43
44
45
46
47
48
# File 'lib/rrj/tools/gem/cluster.rb', line 43

def queue_admin_to(instance = nil)
  Tools::Config.instance.options['queues']['admin']['to'] + \
    "-#{instance.blank? ? @current_instance : instance}"
rescue
  raise Errors::Tools::Cluster::QueueAdminTo
end

#queue_to(instance = nil) ⇒ Object

Specify a name to queue



35
36
37
38
39
40
# File 'lib/rrj/tools/gem/cluster.rb', line 35

def queue_to(instance = nil)
  Tools::Config.instance.options['queues']['standard']['to'] + \
    "-#{instance.blank? ? @current_instance : instance}"
rescue
  raise Errors::Tools::Cluster::QueueTo
end