using GB5Shared.QueueReader; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using PayRollBLL.EmployeeAttachmentImport; namespace PayRollSL.Services { // PAY module queue processor. Handles message types emitted by the PayRoll bounded context. // Extend by adding new IJobQueueHandler implementations and registering them in Program.cs. public class PAYJobQueueProcessor : BaseJobQueueProcessor { // PAYSLIP and PAYRUN are future extension points — no producers or handlers exist yet. // Add to this list when the corresponding IJobQueueHandler is registered. private static readonly IReadOnlyList _messageTypes = [ EmployeeAttachmentImportBLL.MessageType ]; public PAYJobQueueProcessor(IServiceScopeFactory scopeFactory, ILogger logger) : base(scopeFactory, logger) { } protected override IReadOnlyList MessageTypes => _messageTypes; protected override TimeSpan PollInterval => TimeSpan.FromSeconds(5); // GetTenantLoginsAsync: inherited from BaseJobQueueProcessor — loads all active tenants from MSERVERCONFIG } }