/// <summary> /// Adds a new message to the queue. /// </summary> /// <param name="message">Message to be added to the queue.</param> public Task AddQueueMessage(RabbitMessage message) { var startTime = DateTime.UtcNow; try { return Task.Factory.StartNew(() => { _channel.BasicPublish(string.Empty, QueueName, _commonMessageHeader, message.Body); }); } catch (Exception exc) { ReportErrorAndRethrow(exc, "AddQueueMessage"); } finally { CheckAlertSlowAccess(startTime, "AddQueueMessage"); } return TaskDone.Done; }
/// <summary> /// Deletes a messages from the queue. /// </summary> /// <param name="message">A message to be deleted from the queue.</param> public async Task DeleteQueueMessage(RabbitMessage message) { var startTime = DateTime.UtcNow; try { await Task.Factory.StartNew(() => { _channel.BasicAck(message.DeliveryTag, false); }); } catch (Exception exc) { ReportErrorAndRethrow(exc, "DeleteMessage"); } finally { CheckAlertSlowAccess(startTime, "DeleteQueueMessage"); } }