lib/good_job.rb in good_job-4.7.0 vs lib/good_job.rb in good_job-4.8.0
- old
+ new
@@ -290,8 +290,40 @@
# For use in tests/CI to validate GoodJob is up-to-date.
# @return [Boolean]
def self.migrated?
GoodJob::BatchRecord.jobs_finished_at_migrated?
end
+
+ # Pause job execution for a given queue or job class.
+ # @param queue [String, nil] Queue name to pause
+ # @param job_class [String, nil] Job class name to pause
+ # @return [void]
+ def self.pause(queue: nil, job_class: nil)
+ GoodJob::Setting.pause(queue: queue, job_class: job_class)
+ end
+
+ # Unpause job execution for a given queue or job class.
+ # @param queue [String, nil] Queue name to unpause
+ # @param job_class [String, nil] Job class name to unpause
+ # @param label [String, nil] Label to unpause
+ # @return [void]
+ def self.unpause(queue: nil, job_class: nil, label: nil)
+ GoodJob::Setting.unpause(queue: queue, job_class: job_class, label: label)
+ end
+
+ # Check if job execution is paused for a given queue or job class.
+ # @param queue [String, nil] Queue name to check
+ # @param job_class [String, nil] Job class name to check
+ # @param label [String, nil] Label to check
+ # @return [Boolean]
+ def self.paused?(queue: nil, job_class: nil, label: nil)
+ GoodJob::Setting.paused?(queue: queue, job_class: job_class, label: label)
+ end
+
+ # Get a list of all paused queues and job classes
+ # @return [Hash] Hash with :queues, :job_classes, :labels arrays of paused items
+ def self.paused(type = nil)
+ GoodJob::Setting.paused(type)
+ end
end
ActiveSupport.run_load_hooks(:good_job, GoodJob)