bensheldon/good_job · error · ArgumentError
Must provide exactly one of queue, job_class, or label
Error message
Must provide exactly one of queue, job_class, or label
What it means
Error "Must provide exactly one of queue, job_class, or label" thrown in bensheldon/good_job.
Source
Thrown at app/models/good_job/setting.rb:63
end
def self.cron_key_disable(key)
enabled_setting = GoodJob::Setting.find_by(key: CRON_KEYS_ENABLED)
key_string = key.to_s
if enabled_setting&.value&.include?(key_string)
enabled_setting.value.delete(key_string)
enabled_setting.save!
end
disabled_setting = find_or_initialize_by(key: CRON_KEYS_DISABLED) do |record|
record.value = []
end
disabled_setting.value << key unless disabled_setting.value.include?(key_string)
disabled_setting.save!
end
def self.pause(queue: nil, job_class: nil, label: nil)
raise ArgumentError, "Must provide exactly one of queue, job_class, or label" unless [queue, job_class, label].one?(&:present?)
setting = find_or_initialize_by(key: PAUSES) do |record|
record.value = { "queues" => [], "job_classes" => [], "labels" => [] }
end
if queue
setting.value["queues"] ||= []
setting.value["queues"] << queue.to_s unless setting.value["queues"].include?(queue.to_s)
elsif job_class
setting.value["job_classes"] ||= []
setting.value["job_classes"] << job_class.to_s unless setting.value["job_classes"].include?(job_class.to_s)
else
setting.value["labels"] ||= []
setting.value["labels"] << label.to_s unless setting.value["labels"].include?(label.to_s)
end
setting.save!
end
View on GitHub (pinned to 5fcde48f87)
Solutions
- Pass exactly one of :queue, :job_class, or :label when looking up the setting.
- Remove extra selector arguments so exactly one is given.
Example fix
GoodJob::Setting.queue_key(queue: 'default')
When it happens
Trigger: Thrown at app/models/good_job/setting.rb:63 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/563b95bbf84fd884.
Report an issue: GitHub.