Sha256: 111769e19e3b3365923539720bc4b92cb52526fb3df1be08ff7bc6a6f36a8478
Contents?: true
Size: 917 Bytes
Versions: 6
Compression:
Stored size: 917 Bytes
Contents
module Delayed class JobWrapper # rubocop:disable Betterment/ActiveJobPerformable attr_accessor :job_data delegate_missing_to :job def initialize(job_or_data) # During enqueue the job instance is passed in directly, saves us deserializing # it to find out how to queue the job. # During load from the db, we get a data hash passed in so deserialize lazily. if job_or_data.is_a?(ActiveJob::Base) @job = job_or_data @job_data = job_or_data.serialize else @job_data = job_or_data end end def display_name job_data['job_class'] end def perform ActiveJob::Callbacks.run_callbacks(:execute) do job.perform_now end end def encode_with(coder) coder['job_data'] = @job_data end private def job @job ||= ActiveJob::Base.deserialize(job_data) if job_data end end end
Version data entries
6 entries across 6 versions & 1 rubygems