bensheldon/good_job · error · ArgumentError

Must provide at most one of active_job, queue, job_class, or

Error message

Must provide at most one of active_job, queue, job_class, or label

What it means

Error "Must provide at most one of active_job, queue, job_class, or label" thrown in bensheldon/good_job.

Source

Thrown at app/models/good_job/setting.rb:105

      if queue
        return unless setting.value["queues"]&.include?(queue.to_s)

        setting.value["queues"].delete(queue.to_s)
      elsif job_class
        return unless setting.value["job_classes"]&.include?(job_class.to_s)

        setting.value["job_classes"].delete(job_class.to_s)
      else
        return unless setting.value["labels"]&.include?(label.to_s)

        setting.value["labels"].delete(label.to_s)
      end
      setting.save!
    end

    def self.paused?(active_job: nil, queue: nil, job_class: nil, label: nil)
      raise ArgumentError, "Must provide at most one of active_job, queue, job_class, or label" if [active_job, queue, job_class, label].many?(&:present?)

      if active_job
        pauses = paused

        return :queue_name_paused if pauses[:queues].include?(active_job.queue_name.to_s)
        return :job_class_paused if pauses[:job_classes].include?(active_job.class.to_s)

        labels = active_job.respond_to?(:good_job_labels) ? Array(active_job.good_job_labels) : []
        labels = labels.filter_map { |label| label.to_s.presence }.uniq

        return :label_paused if (labels & pauses[:labels]).any?

        false
      elsif queue
        queue.in? paused(:queues)
      elsif job_class
        job_class.in? paused(:job_classes)
      elsif label

View on GitHub (pinned to 5fcde48f87)

Solutions

  1. Pass at most one of :active_job, :queue, :job_class, or :label.
  2. Remove the extra selector arguments so only one identifier is used.

Example fix

GoodJob::Setting.value(:good_job_pause, active_job: job)

When it happens

Trigger: Thrown at app/models/good_job/setting.rb:105 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of bensheldon/good_job@5fcde48f87 (2026-08-23). Data as JSON: /api/errors/bf42f1ecf49ee28a. Report an issue: GitHub.