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/process.rb,
lib/taskinator/version.rb,
lib/taskinator/visitor.rb,
lib/taskinator/executor.rb,
lib/taskinator/workflow.rb,
lib/taskinator/log_stats.rb,
lib/taskinator/definition.rb,
lib/taskinator/complete_on.rb,
lib/taskinator/persistence.rb,
lib/taskinator/task_worker.rb,
lib/taskinator/xml_visitor.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/definition/builder.rb,
lib/taskinator/queues/delayed_job.rb,
lib/taskinator/create_process_worker.rb
Overview
Defined Under Namespace
Modules: Api, CompleteOn, Definition, Instrumentation, LogStats, Logging, Persistence, Queues, Visitor, Workflow
Classes: 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.0"
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
102
103
104
|
# File 'lib/taskinator.rb', line 102
def queue_adapter
@queue_adapter
end
|
.queue_config ⇒ Object
configuration, usually a hash, which will be passed to the configured queue adapter
111
112
113
|
# File 'lib/taskinator.rb', line 111
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
65
66
67
|
# File 'lib/taskinator.rb', line 65
def configure
yield self if block_given?
end
|
.generate_uuid ⇒ Object
53
54
55
|
# File 'lib/taskinator.rb', line 53
def generate_uuid
SecureRandom.uuid
end
|
.instrumenter ⇒ Object
set the instrumenter to use. can be ActiveSupport::Notifications
128
129
130
|
# File 'lib/taskinator.rb', line 128
def instrumenter
@instrumenter ||= NoOpInstrumenter.new
end
|
.instrumenter=(value) ⇒ Object
131
132
133
|
# File 'lib/taskinator.rb', line 131
def instrumenter=(value)
@instrumenter = value
end
|
.options ⇒ Object
46
47
48
|
# File 'lib/taskinator.rb', line 46
def options
@options ||= DEFAULTS.dup
end
|
.options=(opts) ⇒ Object
49
50
51
|
# File 'lib/taskinator.rb', line 49
def options=(opts)
@options = opts
end
|
.queue ⇒ Object
118
119
120
121
122
123
124
|
# File 'lib/taskinator.rb', line 118
def queue
@queue ||= begin
adapter = self.queue_adapter || :resque config = queue_config || {}
Taskinator::Queues.create_adapter(adapter, config)
end
end
|
.redis(&block) ⇒ Object
69
70
71
72
|
# File 'lib/taskinator.rb', line 69
def redis(&block)
raise ArgumentError, "requires a block" unless block_given?
redis_pool.with(&block)
end
|
.statsd_client=(client) ⇒ Object