private void RaiseException(Exception ex, IQueueConsumerService queueConsumerService, ulong deliveryTag, QueueMetric queueMetric) { queueConsumerService.Model.BasicNack(deliveryTag, false, false); queueMetric.RoutingAction = RoutingAction.Failed; _logger.LogError($"Error raised from QueueService: {ex.Message}"); }
public Worker(ILogger <Worker> logger, IPageBehaviourService pageBehaviourService, IQueueConsumerService <PageBehaviour> queueConsumerService) { _logger = logger; _pageBehaviourService = pageBehaviourService; _queueConsumerService = queueConsumerService; }
public void ProcessMessage(string message, IQueueConsumerService queueConsumerService, ulong deliveryTag, QueueMetric queueMetric) { var handlerFunc = ResolveHandler(); if (handlerFunc.Invoke(message)) { queueConsumerService.Model.BasicAck(deliveryTag, false); queueMetric.RoutingAction = RoutingAction.Processed; return; } this.RaiseException(new Exception("Message not processed."), queueConsumerService, deliveryTag, queueMetric); }
public QueueService(IQueueConsumerService queueConsumerService, ConnectionFactory rabbitConnection, ILoggerFactory loggerFactory, IOptions <DataFlowServiceConfig> config) { _connectionFactory = rabbitConnection; _logger = loggerFactory.CreateLogger <QueueService>(); _queueConsumerService = queueConsumerService; _queueConsumerService.QueueName = config.Value.InQueueName; _queueConsumerService.ExchangeName = config.Value.ExchangeName; _queueConsumerService.ExchangeType = config.Value.ExchangeType; _queueConsumerService.RoutingKeyName = config.Value.InRoutingKeyName; _queueConsumerService.Connect(_connectionFactory); }
public QueueService(IQueueConsumerService queueConsumerService, ConnectionFactory rabbitConnection, ILoggerFactory loggerFactory) { _processing = false; _connectionFactory = rabbitConnection; _queueConsumerService = queueConsumerService; _logger = loggerFactory.CreateLogger <QueueService>(); _queueConsumerService.QueueName = "test-queue"; _queueConsumerService.ExchangeName = "ExchangeName"; _queueConsumerService.ExchangeType = "direct"; _queueConsumerService.RoutingKeyName = string.Empty; _queueConsumerService.Connect(_connectionFactory); }