using GB5Shared.DTO.Framework.Login; namespace GB5Shared.QueueReader { public interface IJobQueueEnqueuer { /// /// Optional FK to TJOBEXECUTION.JOBEXECUTIONID (TJOBQUEUE.JOBEXECUTIONID) — set when /// this queue row originates from a scheduler job execution (e.g. /// SchedulerExecutionDeliveryService's SCHEDULER_ACTION_EVENT messages), so the two /// rows can be joined directly instead of parsing MessageId/CorrelationId. Leave null /// for message types unrelated to a scheduler job. /// Task EnqueueAsync(string messageType, string payload, LoginDTO login, string? messageId = null, byte priority = 5, DateTime? scheduledFor = null, int maxRetries = 3, string? correlationId = null, string? sourceService = null, long? jobExecutionId = null, CancellationToken ct = default); } }