Sha256: 9e3816e07a1a60e66f327dc00ef7ceb316dd92379a565c249a9e5995d4262405
Contents?: true
Size: 1.53 KB
Versions: 2
Compression:
Stored size: 1.53 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 NamedQueueJob < SimpleJob def queue_name 'job_tracking' 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
delayed_job-4.0.6 | spec/sample_jobs.rb |
delayed_job-4.0.4 | spec/sample_jobs.rb |