Sha256: 598689cc5bfb69567a0f56e0bd7edbbce734a1f0760eab7e7beb222ee8658a95
Contents?: true
Size: 1.14 KB
Versions: 5
Compression:
Stored size: 1.14 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 base_query GoodJob::ActiveJobJob.all end def filtered_query query = base_query 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
5 entries across 5 versions & 1 rubygems