Module Delayed::Backend::Base
In: lib/delayed/backend/base.rb

Methods

Classes and Modules

Module Delayed::Backend::Base::ClassMethods

Constants

ParseObjectFromYaml = /\!ruby\/\w+\:([^\s]+)/

Public Class methods

[Source]

   # File lib/delayed/backend/base.rb, line 7
7:       def self.included(base)
8:         base.extend ClassMethods
9:       end

Public Instance methods

failed()

Alias for failed?

[Source]

    # File lib/delayed/backend/base.rb, line 48
48:       def failed?
49:         failed_at
50:       end

Moved into its own method so that new_relic can trace it.

[Source]

    # File lib/delayed/backend/base.rb, line 73
73:       def invoke_job
74:         payload_object.perform
75:       end

[Source]

    # File lib/delayed/backend/base.rb, line 89
89:       def max_attempts
90:         payload_object.max_attempts if payload_object.respond_to?(:max_attempts)
91:       end

[Source]

    # File lib/delayed/backend/base.rb, line 53
53:       def name
54:         @name ||= begin
55:           payload = payload_object
56:           if payload.respond_to?(:display_name)
57:             payload.display_name
58:           else
59:             payload.class.name
60:           end
61:         end
62:       end

[Source]

    # File lib/delayed/backend/base.rb, line 68
68:       def payload_object
69:         @payload_object ||= deserialize(self['handler'])
70:       end

[Source]

    # File lib/delayed/backend/base.rb, line 64
64:       def payload_object=(object)
65:         self['handler'] = object.to_yaml
66:       end

[Source]

    # File lib/delayed/backend/base.rb, line 83
83:       def reschedule_at
84:         payload_object.respond_to?(:reschedule_at) ? 
85:           payload_object.reschedule_at(self.class.db_time_now, attempts) :
86:           self.class.db_time_now + (attempts ** 4) + 5
87:       end

Unlock this job (note: not saved to DB)

[Source]

    # File lib/delayed/backend/base.rb, line 78
78:       def unlock
79:         self.locked_at    = nil
80:         self.locked_by    = nil
81:       end

Protected Instance methods

[Source]

     # File lib/delayed/backend/base.rb, line 123
123:       def set_default_run_at
124:         self.run_at ||= self.class.db_time_now
125:       end

[Validate]