using System.Threading.Tasks; using GB5Shared.DTO.JobEngine; namespace FrameworkSL.Hubs.JobEngine { // ============================================================ // IJobEngineClient — strongly-typed client contract for JobEngineHub. // Mirrors FrameworkSL/Hubs/GOP/IGopExecutionClient.cs. // ============================================================ public interface IJobEngineClient { /// Fired right after a Quartz-triggered job is marked InProgress. Task ReceiveJobStarted(JobStartedDTO status); /// Fired once the job's actions are published to Scheduler.Ready — not yet complete, just handed off. Task ReceiveJobDispatched(JobDispatchedDTO status); /// Fired once every fanned-out action for a job execution has succeeded. Task ReceiveJobCompleted(JobCompletedDTO status); /// Fired when a fanned-out action for a job execution fails. Task ReceiveJobFailed(JobFailedDTO status); } }