Sha256: 6eebd3eeeb260d1c3139080eee58cc00faea5d54fb2445fa6bc3018eb6f34861
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
class NamedJob < Struct.new(:perform) def display_name 'named_job' end end class SimpleJob cattr_accessor :runs @runs = 0 def perform self.class.runs += 1 end end class ErrorJob cattr_accessor :runs @runs = 0 def perform raise 'did not work' end end class CustomRescheduleJob < Struct.new(:offset) cattr_accessor :runs @runs = 0 def perform raise 'did not work' end def reschedule_at(time, _attempts) time + offset end end class LongRunningJob def perform sleep 250 end end class OnPermanentFailureJob < SimpleJob attr_writer :raise_error def initialize @raise_error = false end def failure raise 'did not work' if @raise_error end def max_attempts 1 end end module M class ModuleJob cattr_accessor :runs @runs = 0 def perform self.class.runs += 1 end end end class CallbackJob cattr_accessor :messages def enqueue(_job) self.class.messages << 'enqueue' end def before(_job) self.class.messages << 'before' end def perform self.class.messages << 'perform' end def after(_job) self.class.messages << 'after' end def success(_job) self.class.messages << 'success' end def error(_job, error) self.class.messages << "error: #{error.class}" end def failure(_job) self.class.messages << 'failure' end end class EnqueueJobMod < SimpleJob def enqueue(job) job.run_at = 20.minutes.from_now end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
delayed_job-4.0.3 | spec/sample_jobs.rb |