Class: RecurringTasks::RunsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/solid_queue_web/recurring_tasks/runs_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/solid_queue_web/recurring_tasks/runs_controller.rb', line 3

def create
  task = SolidQueue::RecurringTask.find_by!(key: params[:recurring_task_key])
  result = task.enqueue(at: Time.current)

  if result
    redirect_to recurring_tasks_path, notice: "\"#{task.key}\" queued for immediate execution."
  else
    redirect_to recurring_tasks_path, alert: "Could not enqueue \"#{task.key}\" — it may have just run."
  end
rescue ActiveRecord::RecordNotFound
  redirect_to recurring_tasks_path, alert: "Recurring task not found."
rescue => e
  redirect_to recurring_tasks_path, alert: "Could not run task: #{e.message}"
end