Module: SQS::Job
- Defined in:
- lib/sqs/job/thread_pool.rb,
lib/sqs/job.rb,
lib/sqs/job/policy.rb,
lib/sqs/job/worker.rb,
lib/sqs/job/handler.rb,
lib/sqs/job/version.rb,
lib/sqs/job/provisioner.rb,
lib/sqs/job/message/base.rb
Overview
A simple thread pool management object.
Defined Under Namespace
Modules: Message, Policy
Classes: Handler, Provisoner, ThreadPool, Worker
Constant Summary
collapse
- VERSION =
"1.0.0"
Class Method Summary
collapse
Class Method Details
.logger ⇒ Object
50
51
52
|
# File 'lib/sqs/job.rb', line 50
def logger
@logger ||= Logger.new(STDERR)
end
|
.logger=(logger) ⇒ Object
49
|
# File 'lib/sqs/job.rb', line 49
def logger=(logger); @logger = logger; end
|
.max_threads ⇒ Object
42
43
44
|
# File 'lib/sqs/job.rb', line 42
def max_threads
ENV['SQS_JOB_MAX_THREADS'] || 10
end
|
.min_threads ⇒ Object
38
39
40
|
# File 'lib/sqs/job.rb', line 38
def min_threads
ENV['SQS_JOB_MIN_THREADS'] || 1
end
|
.send_message(queue, type, parameters) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/sqs/job.rb', line 10
def send_message queue, type, parameters
require 'base64'
message = {
"type" => type,
"params" => parameters
}.to_json
signature = signing_keys.last.sign message
fingerprint = signing_keys.last.fingerprint
message_attributes = {
"signature" => {
"string_value" => Base64.strict_encode64(signature),
"data_type" => "String",
},
"key_fingerprint" => {
"string_value" => fingerprint,
"data_type" => "String"
}
}
queue.send_message message, message_attributes: message_attributes
end
|
.signature_valid?(message, fingerprint, signature) ⇒ Boolean
32
33
34
35
36
|
# File 'lib/sqs/job.rb', line 32
def signature_valid? message, fingerprint, signature
!signing_keys.find do |k|
k.fingerprint == fingerprint && k.verify_signature(message, signature)
end.nil?
end
|
.signing_keys ⇒ Object
47
|
# File 'lib/sqs/job.rb', line 47
def signing_keys; @signing_keys or raise "No signing keys are configured"; end
|
.signing_keys=(keys) ⇒ Object
46
|
# File 'lib/sqs/job.rb', line 46
def signing_keys=(keys); @signing_keys = keys; end
|