Class: Aq::Query

Inherits:
Base
  • Object
show all
Defined in:
lib/aq/query.rb

Instance Method Summary collapse

Constructor Details

#initialize(bucket, object_prefix) ⇒ Query

Returns a new instance of Query.



12
13
14
15
16
17
# File 'lib/aq/query.rb', line 12

def initialize(bucket, object_prefix)
  super()
  raise InvalidParameterError.new '`bucket` must be specified.' if bucket.nil? || bucket.empty?
  @bucket = bucket
  @object_prefix = object_prefix
end

Instance Method Details

#run(query, timeout = nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/aq/query.rb', line 19

def run(query, timeout=nil)
  log.info "Run Query: #{query}"

  exec_id = start_query query
  log.info "QueryExecutionID: #{exec_id}"

  timeout_time = Time.now + timeout unless timeout.nil?
  while timeout.nil? || timeout_time > Time.now
    log.debug 'Waiting query finished'
    if query_finished? exec_id
      print_result_and_exit exec_id
    end
  end

  log.error "Query:#{exec_id} is timeout. Stop query execution."
  stop_query exec_id
  exit 1
end