Adds singleton connection class

This commit is contained in:
Brusk Awat 2023-03-01 00:43:11 +03:00
parent ea688be970
commit 4c840bdff0
Signed by: broosk1993
GPG Key ID: 5D20F7E02649F74E

View File

@ -0,0 +1,26 @@
require 'singleton'
module Outboxable
class Connection
include ::Singleton
attr_reader :connection
def initialize
@connection = Bunny.new(
host: RabbitCarrots.configuration.rabbitmq_host,
port: RabbitCarrots.configuration.rabbitmq_port,
user: RabbitCarrots.configuration.rabbitmq_user,
password: RabbitCarrots.configuration.rabbitmq_password,
vhost: RabbitCarrots.configuration.rabbitmq_vhost
)
@connection.start
end
def channel
@channel ||= ConnectionPool.new do
connection.create_channel
end
end
end
end