Files
parr_api/PARR.EsppTemplateSyncWorker/Worker.cs
2023-09-01 16:19:32 +10:00

36 lines
1.0 KiB
C#

using PARR.EsppTemplateSync;
namespace PARR.EsppTemplateSyncWorker
{
public class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
private ITemplateSyncer? templateSyncer;
private readonly IServiceProvider serviceProvider;
public Worker(
ILogger<Worker> logger,
IServiceProvider serviceProvider
)
{
_logger = logger;
this.serviceProvider = serviceProvider;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
using var scope = serviceProvider.CreateScope();
var services = scope.ServiceProvider;
templateSyncer = services.GetService<ITemplateSyncer>();
if (templateSyncer != null) await templateSyncer.StartAsync();
}
public override Task StopAsync(CancellationToken cancellationToken)
{
templateSyncer?.Stop();
return base.StopAsync(cancellationToken);
}
}
}