Module: Qs
- Defined in:
- lib/qs.rb,
lib/qs/cli.rb,
lib/qs/job.rb,
lib/qs/event.rb,
lib/qs/queue.rb,
lib/qs/route.rb,
lib/qs/client.rb,
lib/qs/daemon.rb,
lib/qs/logger.rb,
lib/qs/runner.rb,
lib/qs/worker.rb,
lib/qs/io_pipe.rb,
lib/qs/message.rb,
lib/qs/payload.rb,
lib/qs/process.rb,
lib/qs/version.rb,
lib/qs/pid_file.rb,
lib/qs/qs_runner.rb,
lib/qs/queue_item.rb,
lib/qs/config_file.rb,
lib/qs/daemon_data.rb,
lib/qs/job_handler.rb,
lib/qs/test_runner.rb,
lib/qs/dispatch_job.rb,
lib/qs/error_handler.rb,
lib/qs/event_handler.rb,
lib/qs/process_signal.rb,
lib/qs/message_handler.rb,
lib/qs/payload_handler.rb,
lib/qs/dispatcher_queue.rb,
lib/qs/dispatch_job_handler.rb
Defined Under Namespace
Modules: Client, Daemon, DispatchJobHandler, DispatcherQueue, EventHandler, JobHandler, MessageHandler, Payload, RedisUrl, Worker
Classes: CLI, CLIRB, Config, ConfigFile, DaemonData, DispatchJob, ErrorContext, ErrorHandler, Event, EventTestRunner, IOPipe, Job, JobTestRunner, Logger, Message, NoHandlerClassError, NullClient, NullLogger, PIDFile, PayloadHandler, Process, ProcessSignal, QsClient, QsRunner, Queue, QueueItem, RestartCmd, Route, Runner, TestClient, TestRunner
Constant Summary
collapse
- UninitializedError =
Class.new(RuntimeError)
- TimeoutError =
Class.new(RuntimeError)
- VERSION =
"0.8.1"
- NotFoundError =
Class.new(RuntimeError)
- InvalidJobHandlerError =
Class.new(StandardError)
- InvalidEventHandlerError =
Class.new(StandardError)
- ShutdownError =
Class.new(DatWorkerPool::ShutdownError)
Class Method Summary
collapse
Class Method Details
.clear_subscriptions(queue) ⇒ Object
71
72
73
|
# File 'lib/qs.rb', line 71
def self.clear_subscriptions(queue)
self.client.clear_subscriptions(queue)
end
|
.client ⇒ Object
79
80
81
|
# File 'lib/qs.rb', line 79
def self.client
@client || NullClient.new
end
|
.config ⇒ Object
11
|
# File 'lib/qs.rb', line 11
def self.config; @config ||= Config.new; end
|
12
13
14
|
# File 'lib/qs.rb', line 12
def self.configure(&block)
block.call(self.config)
end
|
.decode(encoded_payload) ⇒ Object
63
64
65
|
# File 'lib/qs.rb', line 63
def self.decode(encoded_payload)
@decoder.call(encoded_payload)
end
|
.dispatcher_job_name ⇒ Object
95
96
97
|
# File 'lib/qs.rb', line 95
def self.dispatcher_job_name
self.config.dispatcher_job_name
end
|
.dispatcher_queue ⇒ Object
91
92
93
|
# File 'lib/qs.rb', line 91
def self.dispatcher_queue
@dispatcher_queue
end
|
.encode(payload) ⇒ Object
59
60
61
|
# File 'lib/qs.rb', line 59
def self.encode(payload)
@encoder.call(payload)
end
|
.enqueue(queue, job_name, params = nil) ⇒ Object
43
44
45
|
# File 'lib/qs.rb', line 43
def self.enqueue(queue, job_name, params = nil)
self.client.enqueue(queue, job_name, params)
end
|
.event_publisher ⇒ Object
99
100
101
|
# File 'lib/qs.rb', line 99
def self.event_publisher
self.config.event_publisher
end
|
.event_subscribers(event) ⇒ Object
75
76
77
|
# File 'lib/qs.rb', line 75
def self.event_subscribers(event)
self.client.event_subscribers(event)
end
|
.init ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/qs.rb', line 16
def self.init
self.config.validate!
@dispatcher_queue ||= DispatcherQueue.new({
:queue_class => self.config.dispatcher_queue_class,
:queue_name => self.config.dispatcher_queue_name,
:job_name => self.config.dispatcher_job_name,
:job_handler_class_name => self.config.dispatcher_job_handler_class_name
})
@encoder ||= self.config.encoder
@decoder ||= self.config.decoder
@client ||= Client.new(self.redis_connect_hash)
@redis ||= @client.redis
true
end
|
.publish(channel, name, params = nil) ⇒ Object
47
48
49
|
# File 'lib/qs.rb', line 47
def self.publish(channel, name, params = nil)
self.client.publish(channel, name, params)
end
|
.publish_as(publisher, channel, name, params = nil) ⇒ Object
51
52
53
|
# File 'lib/qs.rb', line 51
def self.publish_as(publisher, channel, name, params = nil)
self.client.publish_as(publisher, channel, name, params)
end
|
.published_events ⇒ Object
103
104
105
|
# File 'lib/qs.rb', line 103
def self.published_events
self.dispatcher_queue.published_events
end
|
.push(queue_name, payload) ⇒ Object
55
56
57
|
# File 'lib/qs.rb', line 55
def self.push(queue_name, payload)
self.client.push(queue_name, payload)
end
|
.redis ⇒ Object
83
84
85
|
# File 'lib/qs.rb', line 83
def self.redis
@redis
end
|
.redis_connect_hash ⇒ Object
87
88
89
|
# File 'lib/qs.rb', line 87
def self.redis_connect_hash
self.config.redis_connect_hash
end
|
.reset! ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/qs.rb', line 33
def self.reset!
@config = nil
@dispatcher_queue = nil
@encoder = nil
@decoder = nil
@client = nil
@redis = nil
true
end
|
.sync_subscriptions(queue) ⇒ Object
67
68
69
|
# File 'lib/qs.rb', line 67
def self.sync_subscriptions(queue)
self.client.sync_subscriptions(queue)
end
|