Class: Sidekiq::Defer::DelayedModel

Inherits:
Object
  • Object
show all
Includes:
Job
Defined in:
lib/sidekiq/defer/active_record.rb

Overview

Adds delay, delay_for and delay_until methods to ActiveRecord to offload instance method execution to Sidekiq.

Please note, this is not recommended as this will serialize the entire object to Redis. Your Sidekiq jobs should pass IDs, not entire instances. This is here for backwards compatibility with Delayed::Job only.

Examples:

User.recent_signups.each { |user| user.delay.mark_as_awesome }

Instance Method Summary collapse

Instance Method Details

#perform(yml) ⇒ Object



20
21
22
23
# File 'lib/sidekiq/defer/active_record.rb', line 20

def perform(yml)
  (target, method_name, args, kwargs) = YAML.safe_load(yml, permitted_classes: [Symbol])
  target.__send__(method_name, *args, **kwargs.to_h)
end