diff --git a/Falcon.SugarApi/TimedTask/ITaskManager.cs b/Falcon.SugarApi/TimedTask/ITaskManager.cs index 5963308..dda5359 100644 --- a/Falcon.SugarApi/TimedTask/ITaskManager.cs +++ b/Falcon.SugarApi/TimedTask/ITaskManager.cs @@ -1,4 +1,5 @@ -using System; +using System.Threading; +using System.Threading.Tasks; namespace Falcon.SugarApi.TimedTask { @@ -24,26 +25,33 @@ namespace Falcon.SugarApi.TimedTask /// string? TaskGroup { get; } - /// - /// 上次运行时间 - /// - DateTime? LastRunTime { get; } - /// - /// 上次运行信息 - /// - public string? LastRunMessage { get; } - /// /// 运行一次任务 /// - (bool isSuccess, string msg) RunOnce(); + /// 退出信号 + /// 控制结果 + Task RunOnceAsync(CancellationToken cancellationToken = default); /// /// 开始任务 /// - (bool isSuccess, string msg) StartTask(); + /// 退出信号 + /// 控制结果 + Task StartTaskAsync(CancellationToken cancellationToken = default); /// /// 停止任务 /// - (bool isSuccess, string msg) StopTask(); + /// 退出信号 + /// 控制结果 + Task StopTaskAsync(CancellationToken cancellationToken = default); + /// + /// 获得当前任务状态 + /// + /// 当前任务状态 + Task GetTaskStateAsync(); + /// + /// 获取上次运行信息 + /// + /// 结果信息 + Task GetLastRunInfomationAsync(); } } diff --git a/Falcon.SugarApi/TimedTask/LastRunInformation.cs b/Falcon.SugarApi/TimedTask/LastRunInformation.cs new file mode 100644 index 0000000..8228a38 --- /dev/null +++ b/Falcon.SugarApi/TimedTask/LastRunInformation.cs @@ -0,0 +1,13 @@ +using System; + +namespace Falcon.SugarApi.TimedTask +{ + /// + /// 任务上次运行结果信息 + /// + /// 是否成功 + /// 运行时间 + /// 运行信息 + /// 引发的异常 + public record LastRunInformation(bool IsSuccess,DateTime Time,string? Msg,Exception? Exception); +} diff --git a/Falcon.SugarApi/TimedTask/TaskControlResult.cs b/Falcon.SugarApi/TimedTask/TaskControlResult.cs new file mode 100644 index 0000000..5887b12 --- /dev/null +++ b/Falcon.SugarApi/TimedTask/TaskControlResult.cs @@ -0,0 +1,12 @@ +using System; + +namespace Falcon.SugarApi.TimedTask +{ + /// + /// 任务控制返回结果 + /// + /// 是否成功 + /// 返回信息 + /// 返回异常 + public record TaskControlResult(bool isSuccess,string msg,Exception? exception); +} diff --git a/Falcon.SugarApi/TimedTask/TaskState.cs b/Falcon.SugarApi/TimedTask/TaskState.cs new file mode 100644 index 0000000..da717e4 --- /dev/null +++ b/Falcon.SugarApi/TimedTask/TaskState.cs @@ -0,0 +1,33 @@ +namespace Falcon.SugarApi.TimedTask +{ + /// + /// 任务状态 + /// + public enum TaskState + { + /// + /// 准备-任务准备就绪等待开始执行 + /// + Ready, + /// + /// 等待-任务已经启动,等待下次启动 + /// + Waiting, + /// + /// 运行-任务执行中 + /// + Running, + /// + /// 停止-任务已经停止,不会再运行 + /// + Stopping, + /// + /// 未知状态--当前状态未知 + /// + Unknown, + /// + /// 不支持-当前任务不支持状态查询 + /// + NoSupport, + } +}