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,
+ }
+}