Skip to content

Instantly share code, notes, and snippets.

@thanhtungka91
Created May 11, 2023 09:54
Show Gist options
  • Save thanhtungka91/e6cef98c72987d32073e1d4225014bc9 to your computer and use it in GitHub Desktop.
Save thanhtungka91/e6cef98c72987d32073e1d4225014bc9 to your computer and use it in GitHub Desktop.
get all queue
# frozen_string_literal: true
require 'shoryuken'
require 'aws-sdk-sqs'
# `bundle exec rails runner "P20230511GenRemoveQueue::Patch.execute"`
class P20230511GenRemoveQueue::Patch
class << self
def execute
# sqs_client = Shoryuken.sqs_client
queues = Shoryuken.sqs_client.list_queues.queue_urls
puts "List of queues:"
queues.each do |queue_url|
queue_name = queue_url.split('/').last
puts "- #{queue_name}"
end
queue_url = Shoryuken.sqs_client.get_queue_url(queue_name: 'default').queue_url
messages = Shoryuken.sqs_client.receive_message(queue_url: queue_url).messages
puts "Messages in the 'default' queue:"
messages.each do |message|
puts "- Message ID: #{message.message_id}"
puts " Body: #{message.body}"
puts " Receipt Handle: #{message.receipt_handle}"
puts " Attributes: #{message.attributes}"
puts " Message Attributes: #{message.message_attributes}"
puts ""
end
# loop do
# response = sqs_client.receive_message(queue_url: queue_url, max_number_of_messages: 10)
# break if response.messages.empty?
#
# response.messages.each do |message|
# sqs_client.delete_message(queue_url: queue_url, receipt_handle: message.receipt_handle)
# end
# end
puts "All messages have been cleared from the queue."
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment