Module: Taskinator
- Defined in:
- lib/taskinator/logger.rb,
lib/taskinator.rb,
lib/taskinator/api.rb,
lib/taskinator/task.rb,
lib/taskinator/tasks.rb,
lib/taskinator/queues.rb,
lib/taskinator/builder.rb,
lib/taskinator/process.rb,
lib/taskinator/version.rb,
lib/taskinator/visitor.rb,
lib/taskinator/executor.rb,
lib/taskinator/workflow.rb,
lib/taskinator/definition.rb,
lib/taskinator/complete_on.rb,
lib/taskinator/persistence.rb,
lib/taskinator/task_worker.rb,
lib/taskinator/queues/resque.rb,
lib/taskinator/queues/sidekiq.rb,
lib/taskinator/instrumentation.rb,
lib/taskinator/redis_connection.rb,
lib/taskinator/queues/active_job.rb,
lib/taskinator/queues/delayed_job.rb,
lib/taskinator/create_process_worker.rb
Overview
Defined Under Namespace
Modules: Api, CompleteOn, Definition, Instrumentation, Logging, Persistence, Queues, Visitor, Workflow
Classes: Builder, ConsoleInstrumenter, CreateProcessWorker, Executor, NoOpInstrumenter, Process, RedisConnection, Task, TaskWorker, Tasks
Constant Summary
collapse
- NAME =
"Taskinator"
- LICENSE =
'See LICENSE.txt for licensing details.'
- DEFAULTS =
{
}
- VERSION =
"0.5.2"
Class Attribute Summary collapse
-
.queue_adapter ⇒ Object
the queue adapter to use supported adapters include :active_job, :delayed_job, :redis and :sidekiq NOTE: ensure that the respective gem is included.
-
.queue_config ⇒ Object
configuration, usually a hash, which will be passed to the configured queue adapter.
Class Method Summary
collapse
Class Attribute Details
.queue_adapter ⇒ Object
the queue adapter to use supported adapters include :active_job, :delayed_job, :redis and :sidekiq NOTE: ensure that the respective gem is included
91
92
93
|
# File 'lib/taskinator.rb', line 91
def queue_adapter
@queue_adapter
end
|
.queue_config ⇒ Object
configuration, usually a hash, which will be passed to the configured queue adapter
100
101
102
|
# File 'lib/taskinator.rb', line 100
def queue_config
@queue_config
end
|
Class Method Details
Configuration for Taskinator client, use like:
Taskinator.configure do |config|
config.redis = { :namespace => 'myapp', :pool_size => 1, :url => 'redis://myhost:8877/0' }
config.queue_config = { :process_queue => 'processes', :task_queue => 'tasks' }
end
62
63
64
|
# File 'lib/taskinator.rb', line 62
def configure
yield self if block_given?
end
|
.generate_uuid ⇒ Object
50
51
52
|
# File 'lib/taskinator.rb', line 50
def generate_uuid
SecureRandom.uuid
end
|
.instrumenter ⇒ Object
set the instrumenter to use. can be ActiveSupport::Notifications
117
118
119
|
# File 'lib/taskinator.rb', line 117
def instrumenter
@instrumenter ||= NoOpInstrumenter.new
end
|
.instrumenter=(value) ⇒ Object
120
121
122
|
# File 'lib/taskinator.rb', line 120
def instrumenter=(value)
@instrumenter = value
end
|
.options ⇒ Object
43
44
45
|
# File 'lib/taskinator.rb', line 43
def options
@options ||= DEFAULTS.dup
end
|
.options=(opts) ⇒ Object
46
47
48
|
# File 'lib/taskinator.rb', line 46
def options=(opts)
@options = opts
end
|
.queue ⇒ Object
107
108
109
110
111
112
113
|
# File 'lib/taskinator.rb', line 107
def queue
@queue ||= begin
adapter = self.queue_adapter || :resque config = queue_config || {}
Taskinator::Queues.create_adapter(adapter, config)
end
end
|
.redis(&block) ⇒ Object
66
67
68
69
|
# File 'lib/taskinator.rb', line 66
def redis(&block)
raise ArgumentError, "requires a block" unless block_given?
redis_pool.with(&block)
end
|