Class: GoogleWebTranslate::ServerList
- Inherits:
-
Object
- Object
- GoogleWebTranslate::ServerList
- Defined in:
- lib/google_web_translate/server_list.rb
Class Method Summary collapse
Class Method Details
.next_server(rate_limit = nil) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/google_web_translate/server_list.rb', line 25 def next_server(rate_limit = nil) @mutex ||= Mutex.new @mutex.synchronize do @counter ||= 0 @counter += 1 list = servers.sort_by { |i| i.counter || 0 } server = list[0] server.counter = @counter sleep(rate_limit_delay(server, rate_limit)) server.last_used_at = Time.now server end end |
.servers ⇒ Object
20 21 22 23 |
# File 'lib/google_web_translate/server_list.rb', line 20 def servers update_servers if @servers.nil? @servers.dup end |