using Hg.Core.Domain; namespace Hg.Core.WebApi.Workers { public class HGAuditNoticeWorker : BackgroundService { private readonly IServiceProvider _serviceProvider; public HGAuditNoticeWorker(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { var scope = _serviceProvider.CreateScope(); var cmsNewsDomain = scope.ServiceProvider.GetRequiredService(); while (!stoppingToken.IsCancellationRequested) { try { await cmsNewsDomain.SendAuditNotice(); await Task.Delay(60 * 1000); } catch (Exception ex) { await Task.Delay(10 * 1000); Log.Error(ex, $"HGAuditNoticeWorker服务报错!"); } } } } }