Class: ScheduledQueryExecution

Inherits:
Object
  • Object
show all
Defined in:
app/models/scheduled_query_execution.rb

Class Method Summary collapse

Class Method Details

.perform(query_id, role) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/models/scheduled_query_execution.rb', line 4

def self.perform(query_id, role)
  query = Query.find(query_id)

  interaction = Interaction::ResultCreation.new(
    query_version_id: query.latest_query_version.id,
    owner: query.user
  )

  result = interaction.execute

  if interaction.errors.any?
    query.error(interaction.errors.join(', '))
  else
    query.add_result(result)
    query.save!
    QueryExecution.perform(result.id, role)
    query.send_result_email if query.email.present?
  end
end