扩展和重写了ITaskManager接口,上个版本取消,需要重新编写任务管理相关
This commit is contained in:
parent
95bcff6edd
commit
ae4374bd35
|
@ -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
|
|||
/// </summary>
|
||||
string? TaskGroup { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 上次运行时间
|
||||
/// </summary>
|
||||
DateTime? LastRunTime { get; }
|
||||
/// <summary>
|
||||
/// 上次运行信息
|
||||
/// </summary>
|
||||
public string? LastRunMessage { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 运行一次任务
|
||||
/// </summary>
|
||||
(bool isSuccess, string msg) RunOnce();
|
||||
/// <param name="cancellationToken">退出信号</param>
|
||||
/// <returns>控制结果</returns>
|
||||
Task<TaskControlResult> RunOnceAsync(CancellationToken cancellationToken = default);
|
||||
/// <summary>
|
||||
/// 开始任务
|
||||
/// </summary>
|
||||
(bool isSuccess, string msg) StartTask();
|
||||
/// <param name="cancellationToken">退出信号</param>
|
||||
/// <returns>控制结果</returns>
|
||||
Task<TaskControlResult> StartTaskAsync(CancellationToken cancellationToken = default);
|
||||
/// <summary>
|
||||
/// 停止任务
|
||||
/// </summary>
|
||||
(bool isSuccess, string msg) StopTask();
|
||||
/// <param name="cancellationToken">退出信号</param>
|
||||
/// <returns>控制结果</returns>
|
||||
Task<TaskControlResult> StopTaskAsync(CancellationToken cancellationToken = default);
|
||||
/// <summary>
|
||||
/// 获得当前任务状态
|
||||
/// </summary>
|
||||
/// <returns>当前任务状态</returns>
|
||||
Task<TaskState> GetTaskStateAsync();
|
||||
/// <summary>
|
||||
/// 获取上次运行信息
|
||||
/// </summary>
|
||||
/// <returns>结果信息</returns>
|
||||
Task<LastRunInformation> GetLastRunInfomationAsync();
|
||||
}
|
||||
}
|
||||
|
|
13
Falcon.SugarApi/TimedTask/LastRunInformation.cs
Normal file
13
Falcon.SugarApi/TimedTask/LastRunInformation.cs
Normal file
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
|
||||
namespace Falcon.SugarApi.TimedTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务上次运行结果信息
|
||||
/// </summary>
|
||||
/// <param name="IsSuccess">是否成功</param>
|
||||
/// <param name="Time">运行时间</param>
|
||||
/// <param name="Msg">运行信息</param>
|
||||
/// <param name="Exception">引发的异常</param>
|
||||
public record LastRunInformation(bool IsSuccess,DateTime Time,string? Msg,Exception? Exception);
|
||||
}
|
12
Falcon.SugarApi/TimedTask/TaskControlResult.cs
Normal file
12
Falcon.SugarApi/TimedTask/TaskControlResult.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
|
||||
namespace Falcon.SugarApi.TimedTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务控制返回结果
|
||||
/// </summary>
|
||||
/// <param name="isSuccess">是否成功</param>
|
||||
/// <param name="msg">返回信息</param>
|
||||
/// <param name="exception">返回异常</param>
|
||||
public record TaskControlResult(bool isSuccess,string msg,Exception? exception);
|
||||
}
|
33
Falcon.SugarApi/TimedTask/TaskState.cs
Normal file
33
Falcon.SugarApi/TimedTask/TaskState.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
namespace Falcon.SugarApi.TimedTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务状态
|
||||
/// </summary>
|
||||
public enum TaskState
|
||||
{
|
||||
/// <summary>
|
||||
/// 准备-任务准备就绪等待开始执行
|
||||
/// </summary>
|
||||
Ready,
|
||||
/// <summary>
|
||||
/// 等待-任务已经启动,等待下次启动
|
||||
/// </summary>
|
||||
Waiting,
|
||||
/// <summary>
|
||||
/// 运行-任务执行中
|
||||
/// </summary>
|
||||
Running,
|
||||
/// <summary>
|
||||
/// 停止-任务已经停止,不会再运行
|
||||
/// </summary>
|
||||
Stopping,
|
||||
/// <summary>
|
||||
/// 未知状态--当前状态未知
|
||||
/// </summary>
|
||||
Unknown,
|
||||
/// <summary>
|
||||
/// 不支持-当前任务不支持状态查询
|
||||
/// </summary>
|
||||
NoSupport,
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user