Class: Twingly::AMQP::DefaultExchangePublisher
- Inherits:
-
Object
- Object
- Twingly::AMQP::DefaultExchangePublisher
- Includes:
- Publisher
- Defined in:
- lib/twingly/amqp/default_exchange_publisher.rb
Constant Summary collapse
- DEFAULT_EXCHANGE =
""
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(queue_name:, connection: Connection.instance) ⇒ DefaultExchangePublisher
constructor
A new instance of DefaultExchangePublisher.
Methods included from Publisher
#configure_publish_options, #publish, #publish_with_confirm
Constructor Details
#initialize(queue_name:, connection: Connection.instance) ⇒ DefaultExchangePublisher
Returns a new instance of DefaultExchangePublisher.
8 9 10 11 12 |
# File 'lib/twingly/amqp/default_exchange_publisher.rb', line 8 def initialize(queue_name:, connection: Connection.instance) .routing_key = queue_name @exchange = connection.create_channel.default_exchange end |
Class Method Details
.delayed(delay_queue_name:, target_queue_name:, delay_ms:, delay_queue_type: :quorum, connection: Connection.instance) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/twingly/amqp/default_exchange_publisher.rb', line 14 def self.delayed(delay_queue_name:, target_queue_name:, delay_ms:, delay_queue_type: :quorum, connection: Connection.instance) Utilities.create_queue(delay_queue_name, arguments: { "x-dead-letter-exchange": DEFAULT_EXCHANGE, "x-dead-letter-routing-key": target_queue_name, }, queue_type: delay_queue_type) new(queue_name: delay_queue_name, connection: connection).tap do |publisher| publisher. do || .expiration = delay_ms end end end |