public void PubishCheckout(string queueName, CartCheckoutEvent publishModel)
        {
            using (var channel = _connection.CreatModel())
            {
                channel.QueueDeclare(queue: queueName,
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);
                var message = JsonConvert.SerializeObject(publishModel);
                var body    = Encoding.UTF8.GetBytes(message);

                IBasicProperties properties = channel.CreateBasicProperties();
                properties.Persistent   = true;
                properties.DeliveryMode = 2;

                channel.ConfirmSelect();
                channel.BasicPublish(exchange: "",
                                     routingKey: queueName,
                                     mandatory: true,
                                     basicProperties: properties,
                                     body: body);
                channel.WaitForConfirmsOrDie();

                channel.BasicAcks += (sender, eventArgs) =>
                {
                    Console.WriteLine("Sent Message");
                };
                // channel.ConfirmSelect();
            }
        }