Class: Trophonius::ConnectionManager
- Inherits:
-
Object
- Object
- Trophonius::ConnectionManager
- Defined in:
- lib/connectors/connection_manager.rb
Instance Method Summary collapse
- #dequeue(id) ⇒ Object
- #enqueue(id) ⇒ Object
-
#initialize ⇒ ConnectionManager
constructor
A new instance of ConnectionManager.
Constructor Details
#initialize ⇒ ConnectionManager
Returns a new instance of ConnectionManager.
3 4 5 6 7 8 9 |
# File 'lib/connectors/connection_manager.rb', line 3 def initialize @connections = {} Trophonius.config.pool_size.times do connection = Connection.new @connections[connection.id] = { connection: connection, queue: [] } end end |
Instance Method Details
#dequeue(id) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/connectors/connection_manager.rb', line 18 def dequeue(id) connection = @connections.values.find { |c| c[:queue].include?(id) } connection[:queue].delete_if { |q_id| q_id == id } puts "out,#{connection[:connection].id},#{connection[:connection].token},#{connection[:queue].length}" if Trophonius.config.debug == true nil end |
#enqueue(id) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/connectors/connection_manager.rb', line 11 def enqueue(id) connection = @connections.values.min_by { |c| c[:queue].length } connection[:queue].push(id) puts "in,#{connection[:connection].id},#{connection[:connection].token},#{connection[:queue].length}" if Trophonius.config.debug == true auth_header_bearer(connection[:connection].id) end |