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

32 lines
1002 B
C#

namespace Hg.Complaint.WebApi.workers
{
internal class LiveDataWorker : BackgroundService
{
private readonly IServiceProvider _serviceProvider;
public LiveDataWorker(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var scope = _serviceProvider.CreateScope();
var liveAuditDomain = scope.ServiceProvider.GetRequiredService<ILiveAuditDomain>();
while (true)
{
try
{
Log.Information("直播数据分析任务");
await liveAuditDomain.SyncLiveData();
}
catch (Exception ex)
{
Log.Error(ex, "直播数据分析任务报错!");
}
await Task.Delay(5 * 60 * 1000, stoppingToken);
}
}
}
}