From 4af3fe56fa01e95dac49e5f637b1e5976946dcc0 Mon Sep 17 00:00:00 2001 From: Ari Karim Date: Sun, 18 Jan 2026 09:58:11 +0300 Subject: [PATCH] Add exchange_name parameter to task configuration and update exchange initialization logic --- lib/rabbit_carrots/core.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/rabbit_carrots/core.rb b/lib/rabbit_carrots/core.rb index c77f286..0604575 100644 --- a/lib/rabbit_carrots/core.rb +++ b/lib/rabbit_carrots/core.rb @@ -35,6 +35,7 @@ module RabbitCarrots queue_name: channel[:queue], handler_class:, routing_keys: channel[:routing_keys], + exchange_name: channel[:exchange_name], queue_arguments: channel[:arguments], kill_to_restart_on_standard_error: ) @@ -78,7 +79,7 @@ module RabbitCarrots def run_task(queue_name:, handler_class:, routing_keys:, queue_arguments: {}, kill_to_restart_on_standard_error: false) RabbitCarrots::Connection.instance.channel.with do |channel| - exchange = channel.topic(RabbitCarrots.configuration.rabbitmq_exchange_name, durable: true) + exchange = channel.topic(exchange_name || RabbitCarrots.configuration.rabbitmq_exchange_name, durable: true) logger.info "Listening on QUEUE: #{queue_name} for ROUTING KEYS: #{routing_keys}" queue = channel.queue(queue_name, durable: true, arguments: queue_arguments)