class BackgroundWorker::PersistentState
Attributes
completed[RW]
data[RW]
detailed_message[RW]
message[RW]
status[RW]
Public Class Methods
get_state_of(job_id)
click to toggle source
Get a report out the queue (was .get_report, then .progress)
# File lib/background_worker/persistent_state.rb, line 35 def self.get_state_of(job_id) Rails.cache.read(job_id) end
new(job_id, data)
click to toggle source
# File lib/background_worker/persistent_state.rb, line 10 def initialize(job_id, data) @message = 'Waiting for task to queue...' @status = :processing @completed = false @job_id = job_id @data = data save end
Public Instance Methods
save()
click to toggle source
Save persistently (well for an hour at least)
# File lib/background_worker/persistent_state.rb, line 29 def save Rails.cache.write(@job_id, generate_persistent_hash, expires_in: 1.hour) end
set_completed(message, status)
click to toggle source
# File lib/background_worker/persistent_state.rb, line 20 def set_completed(message, status) self.status = status self.message = message self.completed = true save end
Private Instance Methods
generate_persistent_hash()
click to toggle source
Generate a hash of this objects state
(representing this status progress report)
# File lib/background_worker/persistent_state.rb, line 43 def generate_persistent_hash { message: message, detailed_message: detailed_message, status: status, completed: completed, data: data } end