protected async override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            var success = _mqService.DirectReceive <ReplyAutoApprovedEvent>(QueueKeys.ReplyAutoApproved, async c =>
            {
                try
                {
                    if (stoppingToken.IsCancellationRequested)
                    {
                        throw new Exception("canceled");
                    }
                    using (var scope = _serviceProvider.CreateScope())
                    {
                        var mediator = scope.ServiceProvider.GetRequiredService <IMediator>();
                        await mediator.Publish(c);
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError("消息处理失败", ex, c);
                }
            }, out string message);

            if (!success)
            {
                _logger.LogError("消息接收异常", message);
            }
            await Task.CompletedTask;

            //while (!stoppingToken.IsCancellationRequested)
            //{
            //    await Task.Delay(TimeSpan.FromSeconds(3), stoppingToken);
            //}
            //_logger.LogInformation(nameof(ReplyAutoApprovedMQBackgroundService) + " stopping...");
        }
        protected async override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            var success = _mqService.DirectReceive <ProductViewed>(QueueKeys.ProductView, async c =>
            {
                try
                {
                    if (stoppingToken.IsCancellationRequested)
                    {
                        throw new Exception("任务已取消");
                    }
                    using (var scope = _serviceProvider.CreateScope())
                    {
                        var mediator = scope.ServiceProvider.GetRequiredService <IMediator>();
                        await mediator.Publish(new ProductViewed
                        {
                            EntityId         = c.EntityId,
                            UserId           = c.UserId,
                            EntityTypeWithId = EntityTypeWithId.Product
                        });
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError("消息处理失败", ex, c);
                }
            }, out string message);

            if (!success)
            {
                _logger.LogError("消息接收异常", message);
            }
            await Task.CompletedTask;

            //while (!stoppingToken.IsCancellationRequested)
            //{
            //    await Task.Delay(TimeSpan.FromSeconds(3), stoppingToken);
            //}
        }