Class: SolidAgents::RunsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/solid_agents/runs_controller.rb

Instance Method Summary collapse

Instance Method Details

#index ⇒ Object



8
9
10
# File 'app/controllers/solid_agents/runs_controller.rb', line 8

def index
  @runs = SolidAgents::Run.includes(:agent).order(created_at: :desc).limit(100)
end

#retry ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/controllers/solid_agents/runs_controller.rb', line 17

def retry
  duplicated = @run.dup
  duplicated.status = :queued
  duplicated.stage = "received"
  duplicated.stage_owner = "alex"
  duplicated.started_at = nil
  duplicated.finished_at = nil
  duplicated.error_payload = nil
  duplicated.result_payload = nil
  duplicated.external_key = "retry-#{@run.id}-#{Time.current.to_i}"
  duplicated.save!
  duplicated.create_work_item!(column_key: duplicated.stage, title: @run.work_item&.title || "Retry ##{@run.id}", summary: "Retry workflow run", metadata_json: {"original_run_id" => @run.id})
  duplicated.append_event!("retried", message: "Run created from retry", payload: {"original_run_id" => @run.id}, actor: "alex")
  SolidAgents::ExecuteRunJob.perform_later(duplicated.id)

  redirect_to run_path(duplicated), notice: "Run retried."
end

#show ⇒ Object



12
13
14
15
# File 'app/controllers/solid_agents/runs_controller.rb', line 12

def show
  @events = @run.events.order(sequence: :asc)
  @artifacts = @run.artifacts.order(created_at: :desc)
end