Sha256: 9a88935653e554d851837b3b1727dc58b5c1aa345c21f3145bbf2c18f94db91e
Contents?: true
Size: 934 Bytes
Versions: 1
Compression:
Stored size: 934 Bytes
Contents
# In Rails 4.2, ActiveJob externally applies deserialized job ID, queue name, arguments to # the instantiated job in `ActiveJob::Base.deserialize`, which cannot be overridden in # subclasses. https://github.com/rails/rails/pull/18260 changes this to delegate as much # of the deserialization as possible to the instance, i.e. `ActiveJob::Base#deserialize`, # which can be overridden. This allows us to store extra information in the queue (i.e. # retry_attempt), which is essential for ActiveJob::Retry. raise "Unnecessary monkey patch!" if ActiveJob::Base.method_defined?(:deserialize) class ActiveJob::Base def self.deserialize(job_data) job = job_data['job_class'].constantize.new job.deserialize(job_data) job end def deserialize(job_data) self.job_id = job_data['job_id'] self.queue_name = job_data['queue_name'] self.serialized_arguments = job_data['arguments'] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activejob-retry-0.0.1 | lib/active_job/retry/deserialize_monkey_patch.rb |