mirror of
https://github.com/ditkrg/rabbit_carrots.git
synced 2026-01-22 13:56:41 +00:00
Merge pull request #15 from arikarim/multi-exchange-
fix: Enhance run_task method to handle existing RabbitMQ exchanges by…
This commit is contained in:
commit
41074d617f
@ -1,7 +1,7 @@
|
||||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
rabbit_carrots (1.1.0)
|
||||
rabbit_carrots (1.1.1)
|
||||
bunny (>= 2.22)
|
||||
connection_pool (>= 2.4)
|
||||
|
||||
|
||||
@ -79,7 +79,15 @@ module RabbitCarrots
|
||||
|
||||
def run_task(queue_name:, handler_class:, routing_keys:, queue_arguments: {}, exchange_name: nil, kill_to_restart_on_standard_error: false)
|
||||
RabbitCarrots::Connection.instance.channel.with do |channel|
|
||||
exchange = channel.topic(exchange_name || RabbitCarrots.configuration.rabbitmq_exchange_name, durable: true)
|
||||
exchange_name ||= RabbitCarrots.configuration.rabbitmq_exchange_name
|
||||
|
||||
begin
|
||||
# Try to passively read an existing exchange without declaring it
|
||||
exchange = channel.topic(exchange_name, passive: true)
|
||||
rescue Bunny::NotFound
|
||||
# If the exchange does not exist, declare it
|
||||
exchange = channel.topic(exchange_name, durable: true)
|
||||
end
|
||||
|
||||
logger.info "Listening on QUEUE: #{queue_name} for ROUTING KEYS: #{routing_keys}"
|
||||
queue = channel.queue(queue_name, durable: true, arguments: queue_arguments)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module RabbitCarrots
|
||||
VERSION = '1.1.0'
|
||||
VERSION = '1.1.1'
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user