module SQS::Job
A simple thread pool management object.
Constants
- Provisoner
- VERSION
Public Class Methods
logger()
click to toggle source
# File lib/sqs/job.rb, line 50 def logger @logger ||= Logger.new(STDERR) end
logger=(logger)
click to toggle source
# File lib/sqs/job.rb, line 49 def logger=(logger); @logger = logger; end
max_threads()
click to toggle source
# File lib/sqs/job.rb, line 42 def max_threads ENV['SQS_JOB_MAX_THREADS'] || 10 end
min_threads()
click to toggle source
# File lib/sqs/job.rb, line 38 def min_threads ENV['SQS_JOB_MIN_THREADS'] || 1 end
send_message(queue, type, parameters)
click to toggle source
# 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)
click to toggle source
# 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()
click to toggle source
# File lib/sqs/job.rb, line 47 def signing_keys; @signing_keys or raise "No signing keys are configured"; end
signing_keys=(keys)
click to toggle source
# File lib/sqs/job.rb, line 46 def signing_keys=(keys); @signing_keys = keys; end