Sha256: 1d6458fa7c319ba8bddd43a0fe990c5e86461d972b9f66e46b4b63cdf3816f3c
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
#!/usr/bin/env ruby require 'optparse' require 'aws-sdk-sqs' require 'rack' require 'mite' require 'arthropod' options = {} OptionParser.new do |opts| opts.banner = "Usage: #{$PROGRAM_NAME} [options]" opts.on("-q", "--queue [string]", "SQS queue name") do |q| options[:queue] = q end opts.on("-i", "--access-key-id [string]", "AWS access key ID, default to the AWS_ACCESS_KEY_ID environment variable") do |i| options[:access_key_id] = i end opts.on("-k", "--secret-access-key [string]", "AWS secret access key, default to the AWS_SECRET_ACCESS_KEY environment variable") do |k| options[:secret_access_key] = k end opts.on("-r", "--region [string]", "AWS region, default to the AWS_REGION environment variable") do |r| options[:region] = r end opts.on("-c", "--config [string]", "Path of the config.ru file, default to ./config.ru") do |c| options[:config] = c end end.parse! access_key_id = options[:access_key_id] || ENV["AWS_ACCESS_KEY_ID"] secret_access_key = options[:secret_access_key] || ENV["AWS_SECRET_ACCESS_KEY"] region = options[:region] || ENV["AWS_REGION"] config = options[:config] || './config.ru' client = Aws::SQS::Client.new({ access_key_id: access_key_id, secret_access_key: secret_access_key, region: region, }) server = Mite::Server.new(config: config) loop do Arthropod::Server.pull(client: client, queue_name: options[:queue] || ENV["QUEUE_NAME"]) do |request| status, headers, io = server.process(request.body) chunks = [] io.each do |chunk| chunks << chunk end [ status, headers, chunks.join ] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mite-0.0.3 | bin/mite |