Sha256: 1b3b204a61569aa0f469020e86bf00974a5ffc210bd4ee82d284425bea878e62
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true module GoodJob class JobsFilter < BaseFilter def states { 'scheduled' => base_query.scheduled.count, 'retried' => base_query.retried.count, 'queued' => base_query.queued.count, 'running' => base_query.running.count, 'finished' => base_query.finished.count, 'discarded' => base_query.discarded.count, } end private def default_base_query GoodJob::ActiveJobJob.all end def filtered_query query = base_query.includes(:executions) .joins_advisory_locks.select('good_jobs.*', 'pg_locks.locktype AS locktype') query = query.job_class(params[:job_class]) if params[:job_class] query = query.where(queue_name: params[:queue_name]) if params[:queue_name] if params[:state] case params[:state] when 'discarded' query = query.discarded when 'finished' query = query.finished when 'retried' query = query.retried when 'scheduled' query = query.scheduled when 'running' query = query.running.select('good_jobs.*', 'pg_locks.locktype') when 'queued' query = query.queued end end query end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
good_job-2.6.0 | engine/app/filters/good_job/jobs_filter.rb |