Ejemplo n.º 1
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            _logger.LogDebug("QueueReaderService is starting.");

            try
            {
                while (!stoppingToken.IsCancellationRequested) // keep reading while the app is running.
                {
                    try
                    {
                        var messages = await _sqsMessage.ReceiveSQSMessage();

                        if (messages != null)
                        {
                            foreach (var message in messages)
                            {
                                BackgroundJob.Enqueue <TasksService>(
                                    x => x.RunProcessMessages(message.Body));
                                await _sqsMessage.DeleteSQSMessage(message.ReceiptHandle);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError(ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }
        }
        public async Task <List <Message> > ReceiveSQSMessage()
        {
            List <Message> messages = await _sqsMessage.ReceiveSQSMessage();

            return(messages);
        }