namespace FrameworkBLL.SystemJob { /// /// Strongly-typed contract for server-to-client SysJob SignalR push messages. /// Defined in FrameworkBLL so both FrameworkBLL (SysJobShareBLL) and /// FrameworkSL (SysJobHub) can reference it without a circular dependency. /// public interface ISysJobClient { /// Job has been claimed and execution started. Task JobStarted(int sysJobId, int sysJobRunId, string worker, DateTime startedAt); /// Job completed successfully. Task JobCompleted(int sysJobId, int sysJobRunId, string? resultLocation, DateTime endedAt); /// Job failed and will be retried. Task JobRetrying(int sysJobId, int sysJobRunId, int retryCount, int maxRetries, string error, DateTime endedAt); /// Job has permanently failed (retry limit reached). Task JobFailed(int sysJobId, int sysJobRunId, string error, DateTime endedAt); /// Job was cancelled by a user before or during execution. Task JobCancelled(int sysJobId, DateTime cancelledAt); /// A job has been shared with the connected user. Task JobShared(int sysJobId, string sharedByName); /// Progress update for a running job (0–100). Task JobProgress(int sysJobId, int progressPct, string progressMessage); } }