lib/aws-activejob-sqs.rb (28 lines of code) (raw):
# frozen_string_literal: true
require 'active_job'
require_relative 'active_job/queue_adapters/sqs_adapter'
require_relative 'active_job/queue_adapters/sqs_adapter/params'
require_relative 'active_job/queue_adapters/sqs_async_adapter'
require_relative 'aws/active_job/sqs/configuration'
require_relative 'aws/active_job/sqs/deduplication'
require_relative 'aws/active_job/sqs/executor'
require_relative 'aws/active_job/sqs/job_runner'
require_relative 'aws/active_job/sqs/lambda_handler'
module Aws
module ActiveJob
# ActiveJob Adapter and backend queueing using AWS SQS.
module SQS
VERSION = File.read(File.expand_path('../VERSION', __dir__)).strip
# @return [Configuration] the (singleton) Configuration
def self.config
@config ||= Configuration.new
end
# @yield [Configuration] the (singleton) Configuration
def self.configure
yield(config)
end
# @param queue_url [String]
# @return [Boolean] true if the queue_url is a FIFO queue
def self.fifo?(queue_url)
queue_url.end_with?('.fifo')
end
def self.on_worker_stop(...)
Executor.on_stop(...)
end
end
end
end