namespace Hg.Complaint.WebApi.workers { internal class DueComplaintWorker : BackgroundService { private readonly IServiceProvider _serviceProvider; public DueComplaintWorker(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { var firstTime = true; var scope = _serviceProvider.CreateScope(); var complaintDomain = scope.ServiceProvider.GetRequiredService(); try { //await complaintDomain.SyncResid(); while (true) { try { if (firstTime) { await complaintDomain.InitOverdueComplaint(); } await complaintDomain.OverdueComplaint(); } catch (Exception ex) { Log.Error(ex, "分析投诉任务报错!"); } await Task.Delay(60 * 1000, stoppingToken); } } catch (Exception ex) { Log.Error(ex, "分析投诉任务报错!"); } } } }