Sha256: 8e82425185664e2aed1c99505f3dfcdebd734c54f450bc70be8537ddea029af4
Contents?: true
Size: 923 Bytes
Versions: 2
Compression:
Stored size: 923 Bytes
Contents
# frozen_string_literal: true # JobFinder runs SQL query which is almost same as delayed_job_active_record. # See https://github.com/collectiveidea/delayed_job_active_record/blob/master/lib/delayed/backend/active_record.rb module Delayed module Master class JobFinder def initialize(model) @model = model end def call(setting, limit) scope(setting).limit(limit).pluck(:id) end def count(setting) scope(setting).count end private def scope(setting) @model.ready_to_run(nil, setting.max_run_time || Delayed::Worker::DEFAULT_MAX_RUN_TIME).tap do |jobs| jobs.where!("priority >= ?", setting.min_priority) if setting.min_priority jobs.where!("priority <= ?", setting.max_priority) if setting.max_priority jobs.where!(queue: setting.queues) if setting.queues.present? end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
delayed_job_master-3.0.1 | lib/delayed/master/job_finder.rb |
delayed_job_master-3.0.0 | lib/delayed/master/job_finder.rb |