Class: Rage::Deferred::Context
- Inherits:
-
Object
- Object
- Rage::Deferred::Context
- Defined in:
- lib/rage/deferred/context.rb
Overview
Context for deferred tasks. The class encapsulates the context associated with a deferred task, and allows to store it without modifying the task instance.
Class Method Summary collapse
- .build(task, args, kwargs, storage: nil) ⇒ Object
- .get_args(context) ⇒ Object
- .get_attempts(context) ⇒ Object
- .get_kwargs(context) ⇒ Object
- .get_log_context(context) ⇒ Object
- .get_log_tags(context) ⇒ Object
- .get_task(context) ⇒ Object
- .inc_attempts(context) ⇒ Object
Class Method Details
.build(task, args, kwargs, storage: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/rage/deferred/context.rb', line 8 def self.build(task, args, kwargs, storage: nil) logger = Thread.current[:rage_logger] [ task, args.empty? ? nil : args, kwargs.empty? ? nil : kwargs, nil, logger&.dig(:tags), logger&.dig(:context) ] end |
.get_args(context) ⇒ Object
25 26 27 |
# File 'lib/rage/deferred/context.rb', line 25 def self.get_args(context) context[1] end |
.get_attempts(context) ⇒ Object
33 34 35 |
# File 'lib/rage/deferred/context.rb', line 33 def self.get_attempts(context) context[3] end |
.get_kwargs(context) ⇒ Object
29 30 31 |
# File 'lib/rage/deferred/context.rb', line 29 def self.get_kwargs(context) context[2] end |
.get_log_context(context) ⇒ Object
45 46 47 |
# File 'lib/rage/deferred/context.rb', line 45 def self.get_log_context(context) context[5] end |
.get_log_tags(context) ⇒ Object
41 42 43 |
# File 'lib/rage/deferred/context.rb', line 41 def self.(context) context[4] end |
.get_task(context) ⇒ Object
21 22 23 |
# File 'lib/rage/deferred/context.rb', line 21 def self.get_task(context) context[0] end |
.inc_attempts(context) ⇒ Object
37 38 39 |
# File 'lib/rage/deferred/context.rb', line 37 def self.inc_attempts(context) context[3] = context[3].to_i + 1 end |