Sha256: da2386f36e6d882e671ede2d0ebc1ee170d643158254f3c1978c55cf0bc513b6
Contents?: true
Size: 854 Bytes
Versions: 1
Compression:
Stored size: 854 Bytes
Contents
module MusicBrainz module ClientModules module FailsafeProxy def get_contents(url) return super unless failsafe? response = { body: nil, status: 500 } MusicBrainz.config.tries_limit.times do response = super break if response[:status] == 200 end response end def time_passed Time.now.to_f - @last_query_time ||= 0.0 end def time_to_wait MusicBrainz.config.query_interval - time_passed end def ready? time_passed > MusicBrainz.config.query_interval end def wait_util_ready! sleep(time_to_wait) unless ready? @last_query_time = Time.now.to_f end def failsafe? MusicBrainz.config.tries_limit > 1 && MusicBrainz.config.query_interval.to_f > 0 end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
musicbrainz-0.7.2 | lib/musicbrainz/client_modules/failsafe_proxy.rb |