Class: Conductor::Worker::WorkerRegistry
- Inherits:
-
Object
- Object
- Conductor::Worker::WorkerRegistry
- Defined in:
- lib/conductor/worker/worker_registry.rb
Overview
Global registry for workers defined via worker_task DSL Workers are registered when their defining code is loaded
Class Method Summary collapse
-
.all ⇒ Array<Hash>
Get all registered worker definitions.
-
.clear ⇒ void
Clear all registered workers (primarily for testing).
-
.count ⇒ Integer
Get the count of registered workers.
-
.get(task_definition_name, domain: nil) ⇒ Hash?
Get a specific worker definition.
-
.register(task_definition_name, execute_function, options = {}) ⇒ void
Register a worker definition.
-
.registered?(task_definition_name, domain: nil) ⇒ Boolean
Check if a worker is registered.
-
.task_names ⇒ Array<String>
Get all registered task definition names.
Class Method Details
.all ⇒ Array<Hash>
Get all registered worker definitions
25 26 27 |
# File 'lib/conductor/worker/worker_registry.rb', line 25 def all registry.values end |
.clear ⇒ void
This method returns an undefined value.
Clear all registered workers (primarily for testing)
47 48 49 |
# File 'lib/conductor/worker/worker_registry.rb', line 47 def clear @registry = {} end |
.count ⇒ Integer
Get the count of registered workers
53 54 55 |
# File 'lib/conductor/worker/worker_registry.rb', line 53 def count registry.size end |
.get(task_definition_name, domain: nil) ⇒ Hash?
Get a specific worker definition
33 34 35 |
# File 'lib/conductor/worker/worker_registry.rb', line 33 def get(task_definition_name, domain: nil) registry[[task_definition_name, domain]] end |
.register(task_definition_name, execute_function, options = {}) ⇒ void
This method returns an undefined value.
Register a worker definition
14 15 16 17 18 19 20 21 |
# File 'lib/conductor/worker/worker_registry.rb', line 14 def register(task_definition_name, execute_function, = {}) key = [task_definition_name, [:domain]] registry[key] = { task_definition_name: task_definition_name, execute_function: execute_function, options: } end |
.registered?(task_definition_name, domain: nil) ⇒ Boolean
Check if a worker is registered
41 42 43 |
# File 'lib/conductor/worker/worker_registry.rb', line 41 def registered?(task_definition_name, domain: nil) registry.key?([task_definition_name, domain]) end |
.task_names ⇒ Array<String>
Get all registered task definition names
59 60 61 |
# File 'lib/conductor/worker/worker_registry.rb', line 59 def task_names registry.keys.map(&:first).uniq end |