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/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
Classes: CLI, CLIRB, Config, ConfigFile, DaemonData, DispatchJob, ErrorContext, ErrorHandler, Event, EventTestRunner, IOPipe, Job, JobTestRunner, Logger, Message, NoHandlerClassError, NullLogger, PIDFile, PayloadHandler, Process, ProcessSignal, QsClient, QsRunner, Queue, QueueItem, RestartCmd, Route, Runner, TestClient, TestRunner
Constant Summary
collapse
- VERSION =
"0.5.0"
- TimeoutError =
Class.new(RuntimeError)
- 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
76
77
78
|
# File 'lib/qs.rb', line 76
def self.clear_subscriptions(queue)
self.client.clear_subscriptions(queue)
end
|
.client ⇒ Object
84
85
86
|
# File 'lib/qs.rb', line 84
def self.client
@client
end
|
.config ⇒ Object
12
|
# File 'lib/qs.rb', line 12
def self.config; @config ||= Config.new; end
|
13
14
15
|
# File 'lib/qs.rb', line 13
def self.configure(&block)
block.call(self.config)
end
|
.decode(encoded_payload) ⇒ Object
68
69
70
|
# File 'lib/qs.rb', line 68
def self.decode(encoded_payload)
@decoder.call(encoded_payload)
end
|
.dispatcher_job_name ⇒ Object
100
101
102
|
# File 'lib/qs.rb', line 100
def self.dispatcher_job_name
self.config.dispatcher.job_name
end
|
.dispatcher_queue ⇒ Object
96
97
98
|
# File 'lib/qs.rb', line 96
def self.dispatcher_queue
@dispatcher_queue
end
|
.encode(payload) ⇒ Object
64
65
66
|
# File 'lib/qs.rb', line 64
def self.encode(payload)
@encoder.call(payload)
end
|
.enqueue(queue, job_name, params = nil) ⇒ Object
48
49
50
|
# File 'lib/qs.rb', line 48
def self.enqueue(queue, job_name, params = nil)
@client.enqueue(queue, job_name, params)
end
|
.event_publisher ⇒ Object
104
105
106
|
# File 'lib/qs.rb', line 104
def self.event_publisher
self.config.event_publisher
end
|
.event_subscribers(event) ⇒ Object
80
81
82
|
# File 'lib/qs.rb', line 80
def self.event_subscribers(event)
self.client.event_subscribers(event)
end
|
.init ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/qs.rb', line 17
def self.init
self.config.redis.url ||= RedisUrl.new(
self.config.redis.ip,
self.config.redis.port,
self.config.redis.db
)
@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_config)
@redis ||= @client.redis
true
end
|
.publish(channel, name, params = nil) ⇒ Object
52
53
54
|
# File 'lib/qs.rb', line 52
def self.publish(channel, name, params = nil)
@client.publish(channel, name, params)
end
|
.publish_as(publisher, channel, name, params = nil) ⇒ Object
56
57
58
|
# File 'lib/qs.rb', line 56
def self.publish_as(publisher, channel, name, params = nil)
@client.publish_as(publisher, channel, name, params)
end
|
.published_events ⇒ Object
108
109
110
|
# File 'lib/qs.rb', line 108
def self.published_events
self.dispatcher_queue.published_events
end
|
.push(queue_name, payload) ⇒ Object
60
61
62
|
# File 'lib/qs.rb', line 60
def self.push(queue_name, payload)
@client.push(queue_name, payload)
end
|
.redis ⇒ Object
88
89
90
|
# File 'lib/qs.rb', line 88
def self.redis
@redis
end
|
.redis_config ⇒ Object
92
93
94
|
# File 'lib/qs.rb', line 92
def self.redis_config
self.config.redis.to_hash
end
|
.reset! ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/qs.rb', line 38
def self.reset!
self.config.reset
@dispatcher_queue = nil
@encoder = nil
@decoder = nil
@client = nil
@redis = nil
true
end
|
.sync_subscriptions(queue) ⇒ Object
72
73
74
|
# File 'lib/qs.rb', line 72
def self.sync_subscriptions(queue)
self.client.sync_subscriptions(queue)
end
|