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}"); } } }
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); } } }