增加任务log日志支持

This commit is contained in:
Falcon 2025-04-24 17:23:43 +08:00
parent 08c5e7e8b8
commit 764d83b668
2 changed files with 43 additions and 5 deletions

View File

@ -1,4 +1,5 @@
using System.Threading; using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Falcon.SugarApi.TimedTask.TaskManager namespace Falcon.SugarApi.TimedTask.TaskManager
@ -43,15 +44,25 @@ namespace Falcon.SugarApi.TimedTask.TaskManager
/// <param name="cancellationToken">退出信号</param> /// <param name="cancellationToken">退出信号</param>
/// <returns>控制结果</returns> /// <returns>控制结果</returns>
Task<TaskControlResult> StopTaskAsync(CancellationToken cancellationToken = default); Task<TaskControlResult> StopTaskAsync(CancellationToken cancellationToken = default);
/// <summary> /// <summary>
/// 获得当前任务状态 /// 获得当前任务状态
/// </summary> /// </summary>
/// <returns>当前任务状态</returns> /// <returns>当前任务状态</returns>
Task<TaskState> GetTaskStateAsync(); Task<TaskState> GetTaskStateAsync(CancellationToken cancellationToken = default);
/// <summary> /// <summary>
/// 获取上次运行信息 /// 获取任务明细
/// </summary> /// </summary>
/// <returns>结果信息</returns> /// <param name="cancellationToken">退出信号</param>
Task<LastRunInformation> GetLastRunInfomationAsync(); /// <returns>任务明细</returns>
Task<TaskDetailStatus> GetTaskDetailStatus(CancellationToken cancellationToken = default);
/// <summary>
/// 获取运行日志
/// </summary>
/// <param name="take">获取日志的数量</param>
/// <param name="skip">跳过的日志数量</param>
/// <param name="cancellationToken">任务退出信号</param>
/// <returns>任务日志列表</returns>
Task<List<LastRunInformation>> GetRunLogsAsync(int take = 10,int skip = 0,CancellationToken cancellationToken = default);
} }
} }

View File

@ -0,0 +1,27 @@
using System;
namespace Falcon.SugarApi.TimedTask.TaskManager
{
/// <summary>
/// 任务运行状态明细
/// </summary>
public class TaskDetailStatus
{
/// <summary>
/// 任务预计下次运行时间
/// </summary>
public DateTime? TaskNextRunTime { get; set; }
/// <summary>
/// 总运行次数
/// </summary>
public int TotalRuns => SuccessTotal + FailTotal;
/// <summary>
/// 成功完成次数
/// </summary>
public int SuccessTotal { get; set; } = 0;
/// <summary>
/// 失败次数
/// </summary>
public int FailTotal { get; set; } = 0;
}
}