From b90ef2752bea53183813af0096cfe1ab90ebde92 Mon Sep 17 00:00:00 2001 From: Brusk Awat Date: Wed, 29 Mar 2023 11:53:48 +0300 Subject: [PATCH] Accepts queue argument --- lib/rabbit_carrots/tasks/rmq.rake | 6 +++--- lib/rabbit_carrots/version.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/rabbit_carrots/tasks/rmq.rake b/lib/rabbit_carrots/tasks/rmq.rake index 16caa7c..780a4e8 100644 --- a/lib/rabbit_carrots/tasks/rmq.rake +++ b/lib/rabbit_carrots/tasks/rmq.rake @@ -18,7 +18,7 @@ namespace :rabbit_carrots do raise "#{handler_class.name} must respond to `handle!`" unless handler_class.respond_to?(:handle!) - run_task(queue_name: channel[:queue], handler_class:, routing_keys: channel[:routing_keys]) + run_task(queue_name: channel[:queue], handler_class:, routing_keys: channel[:routing_keys], queue_arguments: channel[:arguments]) end # Infinite loop to keep the process running @@ -28,12 +28,12 @@ namespace :rabbit_carrots do end end -def run_task(queue_name:, handler_class:, routing_keys:) +def run_task(queue_name:, queue_arguments: {}, handler_class:, routing_keys:) RabbitCarrots::Connection.instance.channel.with do |channel| exchange = channel.topic(RabbitCarrots.configuration.event_bus_exchange_name, durable: true) Rails.logger.info "Listening on QUEUE: #{queue_name} for ROUTING KEYS: #{routing_keys}" - queue = channel.queue(queue_name, durable: true) + queue = channel.queue(queue_name, durable: true, arguments: queue_arguments) routing_keys.map(&:strip).each { |k| queue.bind(exchange, routing_key: k) } diff --git a/lib/rabbit_carrots/version.rb b/lib/rabbit_carrots/version.rb index e7e8295..05f76b2 100644 --- a/lib/rabbit_carrots/version.rb +++ b/lib/rabbit_carrots/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module RabbitCarrots - VERSION = '0.1.17' + VERSION = '0.1.18' end