ComplianceServer/code/Hg.Complaint.WebApi/workers/DueComplaintWorker.cs

45 lines
1.4 KiB
C#

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<IComplaintDomain>();
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, "分析投诉任务报错!");
}
}
}
}