Module | Delayed::Backend::Base |
In: |
lib/delayed/backend/base.rb
|
ParseObjectFromYaml | = | /\!ruby\/\w+\:([^\s]+)/ |
# File lib/delayed/backend/base.rb, line 7 7: def self.included(base) 8: base.extend ClassMethods 9: end
Moved into its own method so that new_relic can trace it.
# File lib/delayed/backend/base.rb, line 73 73: def invoke_job 74: payload_object.perform 75: end
# 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
# 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
# File lib/delayed/backend/base.rb, line 68 68: def payload_object 69: @payload_object ||= deserialize(self['handler']) 70: end
# File lib/delayed/backend/base.rb, line 64 64: def payload_object=(object) 65: self['handler'] = object.to_yaml 66: end
# 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)
# File lib/delayed/backend/base.rb, line 78 78: def unlock 79: self.locked_at = nil 80: self.locked_by = nil 81: end