{"record":{"id":"bf42f1ecf49ee28a","repo":"bensheldon/good_job","slug":"must-provide-at-most-one-of-active-job-queue-job","errorCode":null,"errorMessage":"Must provide at most one of active_job, queue, job_class, or label","messagePattern":"Must provide at most one of active_job, queue, job_class, or label","errorType":"validation","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"app/models/good_job/setting.rb","lineNumber":105,"sourceCode":"\n      if queue\n        return unless setting.value[\"queues\"]&.include?(queue.to_s)\n\n        setting.value[\"queues\"].delete(queue.to_s)\n      elsif job_class\n        return unless setting.value[\"job_classes\"]&.include?(job_class.to_s)\n\n        setting.value[\"job_classes\"].delete(job_class.to_s)\n      else\n        return unless setting.value[\"labels\"]&.include?(label.to_s)\n\n        setting.value[\"labels\"].delete(label.to_s)\n      end\n      setting.save!\n    end\n\n    def self.paused?(active_job: nil, queue: nil, job_class: nil, label: nil)\n      raise ArgumentError, \"Must provide at most one of active_job, queue, job_class, or label\" if [active_job, queue, job_class, label].many?(&:present?)\n\n      if active_job\n        pauses = paused\n\n        return :queue_name_paused if pauses[:queues].include?(active_job.queue_name.to_s)\n        return :job_class_paused if pauses[:job_classes].include?(active_job.class.to_s)\n\n        labels = active_job.respond_to?(:good_job_labels) ? Array(active_job.good_job_labels) : []\n        labels = labels.filter_map { |label| label.to_s.presence }.uniq\n\n        return :label_paused if (labels & pauses[:labels]).any?\n\n        false\n      elsif queue\n        queue.in? paused(:queues)\n      elsif job_class\n        job_class.in? paused(:job_classes)\n      elsif label","sourceCodeStart":87,"sourceCodeEnd":123,"githubUrl":"https://github.com/bensheldon/good_job/blob/5fcde48f8765e69901ffa9c5a06122b19c73875f/app/models/good_job/setting.rb#L87-L123","documentation":"Error \"Must provide at most one of active_job, queue, job_class, or label\" thrown in bensheldon/good_job.","triggerScenarios":"Thrown at app/models/good_job/setting.rb:105 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass at most one of :active_job, :queue, :job_class, or :label.","Remove the extra selector arguments so only one identifier is used."],"exampleFix":"GoodJob::Setting.value(:good_job_pause, active_job: job)","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5fcde48f8765e69901ffa9c5a06122b19c73875f","analyzedAt":"2026-08-23T14:55:11.399Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}