Class: SolidQueueWeb::Job
- Inherits:
-
Object
- Object
- SolidQueueWeb::Job
- Defined in:
- app/models/solid_queue_web/job.rb
Constant Summary collapse
- STATUSES =
%w[ready scheduled claimed blocked failed].freeze
- DISCARDABLE =
%w[ready scheduled blocked].freeze
- EXECUTION_MODELS =
{ "ready" => SolidQueue::ReadyExecution, "scheduled" => SolidQueue::ScheduledExecution, "claimed" => SolidQueue::ClaimedExecution, "blocked" => SolidQueue::BlockedExecution, "failed" => SolidQueue::FailedExecution }.freeze
Class Method Summary collapse
Class Method Details
.derive_status(job) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'app/models/solid_queue_web/job.rb', line 19 def self.derive_status(job) return "failed" if job.failed_execution.present? return "claimed" if job.claimed_execution.present? return "blocked" if job.blocked_execution.present? return "ready" if job.ready_execution.present? return "scheduled" if job.scheduled_execution.present? "finished" end |
.execution_model_for!(status) ⇒ Object
13 14 15 16 17 |
# File 'app/models/solid_queue_web/job.rb', line 13 def self.execution_model_for!(status) raise ArgumentError, "Cannot discard #{status} jobs from this page." unless DISCARDABLE.include?(status) EXECUTION_MODELS[status] end |