_enqueue

in lib/active_job/queue_adapters/amazon_sqs_adapter.rb [21:41]


      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)
          
          
          
           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