class ZuoraConnect::AppInstanceBase
def refresh(session = nil)
def refresh(session = nil) count ||= 0 start = Time.now response = HTTParty.get(ZuoraConnect.configuration.url + "/api/#{self.api_version}/tools/tasks/#{self.id}.json",:body => {:access_token => self.access_token}) response_time = Time.now - start Rails.logger.info("[#{self.id}] REFRESHING - Connect Request Time #{response_time.round(2).to_s}") if response.code == 200 @last_refresh = Time.now.to_i build_task(JSON.parse(response.body), session) else raise ZuoraConnect::Exceptions::ConnectCommunicationError.new("Error Communicating with Connect", response.body, response.code) end rescue Net::ReadTimeout, Net::OpenTimeout, Errno::EPIPE, Errno::ECONNRESET, Errno::ECONNREFUSED, SocketError if count < 2 count += 1 retry else raise end rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex if count < 2 && ex.code == 401 self.refresh_oauth count += 1 retry else raise end end