28 lines
805 B
C#

using EnvelopeGenerator.Finalizer.Models;
using Microsoft.Extensions.Options;
using Quartz;
namespace EnvelopeGenerator.Finalizer
{
public class Worker : IJob
{
private readonly ILogger<Worker> _logger;
private readonly WorkerOptions _options;
public Worker(ILogger<Worker> logger, IOptions<WorkerOptions> workerOptions)
{
_logger = logger;
_options = workerOptions.Value;
}
public async Task Execute(IJobExecutionContext context)
{
if (_logger.IsEnabled(LogLevel.Information))
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
}
await Task.Delay(_options.IntervalInMillisecond, context.CancellationToken);
}
}
}