class Forcer::StatusPrintService
Constants
- MAX_NUMBER_RETRIES
Public Class Methods
new(suppress_periodic_requests = false)
click to toggle source
# File lib/utilities/status_print_service.rb, line 6 def initialize(suppress_periodic_requests = false) @suppress_periodic_requests = suppress_periodic_requests end
Public Instance Methods
run_status_check(ids, lambda_metadata)
click to toggle source
run thread to check process status
# File lib/utilities/status_print_service.rb, line 13 def run_status_check(ids, lambda_metadata) header = { "tns:SessionHeader" => { "tns:sessionId" => ids[:session_id] } } body = { asyncProcessId: ids[:id] } p "REQUESTING STATUS" response = {} number_retries = 0 status_thread = Thread.new do begin response = lambda_metadata.call(header, body) response_details = response.body print_status(response_details) break if (response_details[:check_deploy_status_response][:result][:done] || @suppress_periodic_requests) sleep(5) rescue Exception => ex if number_retries < MAX_NUMBER_RETRIES p "==== exception => #{ex}" p "==== retrying" response = {} number_retries += 1 sleep(4) retry else p "EXCEEDED MAX_NUMBER_RETRIES (#{MAX_NUMBER_RETRIES}). EXITING NOW." raise ex end end while(number_retries < MAX_NUMBER_RETRIES) end status_thread.join() return response end
Private Instance Methods
print_status(details)
click to toggle source
# File lib/utilities/status_print_service.rb, line 54 def print_status(details) # status = "DONE : #{details[:check_deploy_status_response][:result][:done]} | " status = "STATUS : #{details[:check_deploy_status_response][:result][:status]} | " status += "SUCCESS : #{details[:check_deploy_status_response][:result][:success]}" p status p "===============" end