Class: SolidStackWeb::JobsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- SolidStackWeb::JobsController
- Defined in:
- app/controllers/solid_stack_web/jobs_controller.rb
Constant Summary
Constants inherited from ApplicationController
ApplicationController::PERIOD_DURATIONS
Instance Method Summary collapse
Instance Method Details
#destroy ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/controllers/solid_stack_web/jobs_controller.rb', line 31 def destroy if params[:id] @execution = Job::EXECUTION_MODELS[@status].find(params[:id]) @execution.job.destroy! @executions_remain = Job::EXECUTION_MODELS[@status].exists? @notice = "Job discarded." respond_to do |format| format.html { redirect_to jobs_path(status: @status, q: @search, queue: @queue, period: @period, priority: @priority, sort: @sort, direction: @direction) } format.turbo_stream end else job_ids = filtered_scope.pluck(:job_id) count = SolidQueue::Job.where(id: job_ids).destroy_all.size redirect_to jobs_path(status: @status, q: @search, queue: @queue, period: @period, priority: @priority, sort: @sort, direction: @direction), notice: "#{count} #{count == 1 ? "job" : "jobs"} discarded." end end |
#index ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/solid_stack_web/jobs_controller.rb', line 7 def index pairs = Job::EXECUTION_MODELS[@status].joins(:job) .distinct .pluck("solid_queue_jobs.queue_name", "solid_queue_jobs.priority") @queue_options = pairs.map(&:first).uniq.sort @priority_options = pairs.map(&:last).uniq.sort respond_to do |format| format.html { @pagy, @executions = pagy(filtered_scope) } format.csv do send_data jobs_csv, filename: "jobs-#{@status}-#{Date.today}.csv", type: "text/csv", disposition: "attachment" end end end |
#show ⇒ Object
24 25 26 27 28 29 |
# File 'app/controllers/solid_stack_web/jobs_controller.rb', line 24 def show @execution = Job::EXECUTION_MODELS[@status].includes(:job).find(params[:id]) @arguments = JSON.parse(@execution.job.arguments) if @execution.job.arguments.present? rescue JSON::ParserError @arguments = nil end |