36 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|
|
} |