Class: EbisuConnection::ConnectionManager

Inherits:
FreshConnection::AbstractConnectionManager
  • Object
show all
Defined in:
lib/ebisu_connection/connection_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(slave_group = "slave") ⇒ ConnectionManager

Returns a new instance of ConnectionManager.



5
6
7
8
# File 'lib/ebisu_connection/connection_manager.rb', line 5

def initialize(slave_group = "slave")
  super
  @slaves = Concurrent::Map.new
end

Instance Method Details

#clear_all_connections!Object



23
24
25
26
27
28
29
30
# File 'lib/ebisu_connection/connection_manager.rb', line 23

def clear_all_connections!
  @slaves.each_value do |s|
    s.all_disconnect!
  end

  @slaves.clear
  ConfFile.conf_clear!
end

#put_aside!Object



14
15
16
17
18
19
20
21
# File 'lib/ebisu_connection/connection_manager.rb', line 14

def put_aside!
  return if check_own_connection

  ConfFile.if_modify do
    reserve_release_all_connection
    check_own_connection
  end
end

#recovery?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/ebisu_connection/connection_manager.rb', line 32

def recovery?
  slaves.recovery_connection?
end

#slave_connectionObject



10
11
12
# File 'lib/ebisu_connection/connection_manager.rb', line 10

def slave_connection
  slaves.sample.connection
end