Exemplo n.º 1
0
        private void SendQueue(IQueueMessage mess, string[] queues, string entityType = "entity empty", int?delay = 1, int tryAttempt = 1)
        {
            try
            {
                _queueProvider.PushMessage(mess, queues);

                _logger.Info($"Success send entity - {entityType}");
            }
            catch (Exception exp)
            {
                if (tryAttempt < 5)
                {
                    _logger.Warning($"Failed send entity {mess.Body} after {tryAttempt} attempt. We will try again. Exception - {exp.Message}");

                    Thread.Sleep(2000);

                    // повторить попытку отправления
                    SendQueue(mess, queues, entityType, delay, ++tryAttempt);
                }
                else
                {
                    _logger.Error($"Failed send entity {mess.Body} after {tryAttempt} attempt. Lost entity. Exception - {exp.Message}");
                }
            }
        }
Exemplo n.º 2
0
 private void SendQueue(IQueueMessage mess, string[] queues, string entityType = "entity empty", int?delay = 1, int tryAttempt = 1)
 {
     try
     {
         _queueProvider.PushMessage(mess, queues);
     }
     catch (Exception exp)
     {
         if (tryAttempt < 5)
         {
             Thread.Sleep(2000);
             SendQueue(mess, queues, entityType, delay, ++tryAttempt);
         }
         else
         {
             throw new SenderEntityException($"Failed send entity {mess.Body} after {tryAttempt} attempt. Lost entity. Exception - {exp.Message}", exp);
         }
     }
 }