コード例 #1
0
        public async Task RunAsync(CancellationToken cancellationToken)
        {
            while (!cancellationToken.IsCancellationRequested)
            {
                var message = await _pollingMessageReceiver.ReceiveAsAsync <EmployerRefreshLevyQueueMessage>();

                try
                {
                    if (HmrcProcessingEnabled || DeclarationProcessingOnly || FractionProcessingOnly)
                    {
                        await ProcessMessage(message);
                    }
                    else
                    {
                        //Ignore the message as we are not processing declarations

                        if (message?.Content != null)
                        {
                            await message.CompleteAsync();
                        }
                    }
                }
                catch (Exception ex)
                {
                    _logger.Fatal(ex, $"Levy declaration processing failed for account with ID [{message?.Content?.AccountId}]");
                    break; //Stop processing anymore messages as this failure needs to be investigated
                }
            }
        }
        public async Task RunAsync(CancellationToken cancellationToken)
        {
            while (!cancellationToken.IsCancellationRequested)
            {
                var message = await _pollingMessageReceiver.ReceiveAsAsync <PaymentProcessorQueueMessage>();

                try
                {
                    await ProcessMessage(message);
                }
                catch (Exception ex)
                {
                    _logger.Fatal(ex,
                                  $"Refresh payment message processing failed for account with ID [{message?.Content?.AccountId}]");
                    break; //Stop processing anymore messages as this failure needs to be investigated
                }
            }
        }