Sha256: 7cfc6ce28a93dba5a30ef716763426572df7899a76adabc5810cbf1c44617ddf
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
# # Extra classes needed to operate with Chimp # module Chimp # # This class allows to check on the status of any of the tasks created. # class Task attr_writer :tasker attr_reader :tasker def initialize rate = ENV['API_POLLING_RATE'] || 30 @api_polling_rate = rate.to_i end def wait_for_state(desired_state, timeout = 900) while timeout > 0 # Make compatible with RL10. status = state.downcase return true if status.match(desired_state) friendly_url = Connection.audit_url + '/audit_entries/' friendly_url += href.split(/\//).last friendly_url = friendly_url.gsub('ae-', '') if status.match('failed') || status.match('aborted') raise "FATAL error, #{status}\n\n Audit: #{friendly_url}\n " end Log.debug "Polling again in #{@api_polling_rate}" sleep @api_polling_rate timeout -= @api_polling_rate end raise "FATAL: Timeout waiting for Executable to complete. State was #{status}" if timeout <= 0 end def wait_for_completed(timeout = 900) wait_for_state('completed', timeout) end def state tasker.show.summary end def href tasker.href end def friendly_url friendly_url = Connection.audit_url + '/audit_entries/' friendly_url += href.split(/\//).last friendly_url = friendly_url.gsub('ae-', '') friendly_url end def details tasker.show(view: 'extended').detail end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
right_chimp-2.4 | lib/right_chimp/resources/task.rb |