// Application starting point
        public void Run(bool useSenderServiceKeepConnection)
        {
            _useSenderServiceKeepConnection = useSenderServiceKeepConnection;

            _senderServiceKeepConnection.ServiceDescription = $"service to send message - keep connection created at {DateTime.Now}";
            _senderService.ServiceDescription = "service to send messages";

            var retryQueueDetails = new RetryQueueDetails
            {
                RetentionPeriodInRetryQueueMilliseconds    = _config.BrokerRetentionPeriodInRetryQueueSeconds * 1000,
                RetentionPeriodInRetryQueueMillisecondsMax = _config.BrokerRetentionPeriodInRetryQueueSecondsMax * 1000,
                RetryQueue = _config.BrokerRetryQueue
            };



            _consumerService.StartConsumers("consumers_Tag_A", retryQueueDetails, totalConsumers: 2);
            _consumerService.StartConsumers("consumers_Tag_B", retryQueueDetails, totalConsumers: 2);

            _logger.LogInformation($"Starting consumers...");

            var details = _consumerService.GetConsumerDetails();

            if (details != null)
            {
                foreach (var consumerInfo in details)
                {
                    _logger.LogInformation($"consumer '{consumerInfo.Name}' connected to {consumerInfo.ConnectedToHost}:{consumerInfo.ConnectedToPort} started at {consumerInfo.ConnectionTime:yyyy-MM-dd HH:mm:ss}");
                }
            }
        }
        public void ConsumerService_StartConsumers_NamesAreCorrect()
        {
            _consumerService = GetConsumerService();

            _consumerService.StartConsumers("test", null, 2);

            Thread.Sleep(100);

            var startedConsumers = _consumerService.GetConsumerDetails();

            Assert.IsTrue(startedConsumers.Any(y => y.Name == "test_0"));
            Assert.IsTrue(startedConsumers.Any(y => y.Name == "test_1"));
        }
Beispiel #3
0
        /// <summary>
        /// Service start - executed when the service starts
        /// </summary>
        /// <param name="stoppingToken"></param>
        /// <returns></returns>

        public override Task StartAsync(CancellationToken stoppingToken)
        {
            _rabbitConsumerService.StartConsumers("Service consumer");

            _logger.LogInformation($"Starting consumers...");

            var details = _rabbitConsumerService.GetConsumerDetails();

            if (details != null)
            {
                foreach (var consumerInfo in details)
                {
                    _logger.LogInformation($"consumer '{consumerInfo.Name}' started at {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
                }
            }
            return(base.StartAsync(stoppingToken));
        }