Files
jsmr/JSMR.Worker/Services/ScanJob.cs
Brian Bicknell 340c62d18b
All checks were successful
ci / build-test (push) Successful in 2m16s
ci / publish-image (push) Has been skipped
Added worker app.
2026-02-01 21:41:23 -05:00

28 lines
943 B
C#

using JSMR.Application.Enums;
using JSMR.Application.Scanning;
using JSMR.Worker.Options;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace JSMR.Worker.Services;
public sealed class ScanJob(ILogger<ScanJob> log, IOptions<ScanOptions> options, ScanVoiceWorksHandler scanVoiceWorksHandler)
{
private readonly ScanOptions _options = options.Value;
public async Task RunOnceAsync(CancellationToken cancellationToken)
{
log.LogInformation("Starting scan: Locale={Locale}, Start Page={StartPage}, EndPage={EndPage}",
_options.Locale, _options.StartPage, _options.EndPage);
ScanVoiceWorksRequest request = new(
PageNumber: 1,
PageSize: 100,
Locale: Enum.Parse<Locale>(_options.Locale, true)
);
await scanVoiceWorksHandler.HandleAsync(request, cancellationToken);
log.LogInformation("Scan completed.");
}
}