Method: Egis::Client#query_status

Defined in:
lib/egis/client.rb

#query_status(query_id) ⇒ Egis::QueryStatus

Check the status of asynchronous query execution.

Parameters:

Returns:



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/egis/client.rb', line 96

def query_status(query_id)
  resp = aws_athena_client.get_query_execution(query_execution_id: query_id)

  query_execution = resp.query_execution
  query_status = query_execution.status.state

  Egis.logger.debug { "Checking query status (#{query_id}): #{query_status}" }

  Egis::QueryStatus.new(
    query_execution.query_execution_id,
    QUERY_STATUS_MAPPING.fetch(query_status),
    query_execution.status.state_change_reason,
    parse_output_location(query_execution),
    client: self
  )
end