class ActiveJob::QueueAdapters::AmazonSqsAsyncAdapter
config.active_job.queue_adapter = :amazon_sqs_async
To use this adapter, set up as:
with Aws::Rails::SqsActiveJob.config.async_queue_error_handler
.
This adapter queues jobs asynchronously (ie non-blocking). Error handler can be configured
== Async adapter for Amazon SQS ActiveJob
def _enqueue(job, send_message_opts = {})
def _enqueue(job, send_message_opts = {}) Concurrent::Promise .execute { super(job, send_message_opts) } .on_error do |e| Rails.logger.error "Failed to queue job #{job}. Reason: #{e}" error_handler = Aws::Rails::SqsActiveJob.config.async_queue_error_handler error_handler.call(e, job, send_message_opts) if error_handler end end