Module: Cloudtasker::Worker::ClassMethods
- Defined in:
- lib/cloudtasker/worker.rb,
lib/cloudtasker/testing.rb
Overview
Module class methods
Instance Method Summary collapse
-
#cache_key(val = nil) ⇒ String
Return a namespaced cache key.
-
#cloudtasker_options(opts = {}) ⇒ Hash
Set the worker runtime options.
-
#cloudtasker_options_hash ⇒ Hash
Return the worker runtime options.
-
#drain ⇒ Array<any>
Run all jobs related to this worker class.
-
#jobs ⇒ Array<Cloudtasker::Backend::MemoryTask>
Return all jobs related to this worker class.
-
#max_retries ⇒ Integer
Return the numbeer of times this worker will be retried.
-
#perform_async(*args) ⇒ Cloudtasker::CloudTask
Enqueue worker in the backgroundf.
-
#perform_at(time_at, *args) ⇒ Cloudtasker::CloudTask
Enqueue worker and delay processing.
-
#perform_in(interval, *args) ⇒ Cloudtasker::CloudTask
Enqueue worker and delay processing.
-
#redis ⇒ Cloudtasker::RedisClient
Return the Cloudtasker redis client.
-
#schedule(args: nil, time_in: nil, time_at: nil, queue: nil) ⇒ Cloudtasker::CloudTask
Enqueue a worker with explicity options.
Instance Method Details
#cache_key(val = nil) ⇒ String
Return a namespaced cache key.
94 95 96 |
# File 'lib/cloudtasker/worker.rb', line 94 def cache_key(val = nil) [to_s.underscore, val].flatten.compact.map(&:to_s).join('/') end |
#cloudtasker_options(opts = {}) ⇒ Hash
Set the worker runtime options.
73 74 75 76 |
# File 'lib/cloudtasker/worker.rb', line 73 def (opts = {}) opt_list = opts&.map { |k, v| [k.to_sym, v] } || [] # symbolize @cloudtasker_options_hash = opt_list.to_h end |
#cloudtasker_options_hash ⇒ Hash
Return the worker runtime options.
83 84 85 |
# File 'lib/cloudtasker/worker.rb', line 83 def @cloudtasker_options_hash || {} end |
#drain ⇒ Array<any>
Run all jobs related to this worker class.
128 129 130 |
# File 'lib/cloudtasker/testing.rb', line 128 def drain Backend::MemoryTask.drain(to_s) end |
#jobs ⇒ Array<Cloudtasker::Backend::MemoryTask>
Return all jobs related to this worker class.
119 120 121 |
# File 'lib/cloudtasker/testing.rb', line 119 def jobs Backend::MemoryTask.all(to_s) end |
#max_retries ⇒ Integer
Return the numbeer of times this worker will be retried.
152 153 154 |
# File 'lib/cloudtasker/worker.rb', line 152 def max_retries [:max_retries] || Cloudtasker.config.max_retries end |
#perform_async(*args) ⇒ Cloudtasker::CloudTask
Enqueue worker in the backgroundf.
105 106 107 |
# File 'lib/cloudtasker/worker.rb', line 105 def perform_async(*args) schedule(args: args) end |
#perform_at(time_at, *args) ⇒ Cloudtasker::CloudTask
Enqueue worker and delay processing.
129 130 131 |
# File 'lib/cloudtasker/worker.rb', line 129 def perform_at(time_at, *args) schedule(args: args, time_at: time_at) end |
#perform_in(interval, *args) ⇒ Cloudtasker::CloudTask
Enqueue worker and delay processing.
117 118 119 |
# File 'lib/cloudtasker/worker.rb', line 117 def perform_in(interval, *args) schedule(args: args, time_in: interval) end |
#redis ⇒ Cloudtasker::RedisClient
Return the Cloudtasker redis client
62 63 64 |
# File 'lib/cloudtasker/worker.rb', line 62 def redis @redis ||= RedisClient.new end |
#schedule(args: nil, time_in: nil, time_at: nil, queue: nil) ⇒ Cloudtasker::CloudTask
Enqueue a worker with explicity options.
143 144 145 |
# File 'lib/cloudtasker/worker.rb', line 143 def schedule(args: nil, time_in: nil, time_at: nil, queue: nil) new(job_args: args, job_queue: queue).schedule(**{ interval: time_in, time_at: time_at }.compact) end |