class ActiveJob::QueueAdapters::AmazonSqsAdapter
def _enqueue(job, send_message_opts = {})
def _enqueue(job, send_message_opts = {}) body = job.serialize queue_url = Aws::Rails::SqsActiveJob.config.queue_url_for(job.queue_name) send_message_opts[:queue_url] = queue_url send_message_opts[:message_body] = Aws::Json.dump(body) send_message_opts[:message_attributes] = message_attributes(job) if Aws::Rails::SqsActiveJob.fifo?(queue_url) # job_id is unique per initialization of job # Remove it from message dup id to ensure run-once behavior # with ActiveJob retries send_message_opts[:message_deduplication_id] = Digest::SHA256.hexdigest( Aws::Json.dump(body.except('job_id')) ) send_message_opts[:message_group_id] = Aws::Rails::SqsActiveJob.config.message_group_id end Aws::Rails::SqsActiveJob.config.client.send_message(send_message_opts) end