ITaskDispatchService.cs 1004 Bytes
using System.Threading;
using System.Threading.Tasks;

namespace Rcs.Application.Shared
{
    /// <summary>
    /// 任务调度服务接口
    /// @author zzy
    /// </summary>
    public interface ITaskDispatchService
    {
        /// <summary>
        /// 执行一次任务调度
        /// </summary>
        /// <param name="cancellationToken">取消令牌</param>
        /// <returns>调度结果</returns>
        Task<TaskDispatchResult> DispatchAsync(CancellationToken cancellationToken = default);
    }

    /// <summary>
    /// 任务调度结果
    /// @author zzy
    /// </summary>
    public class TaskDispatchResult
    {
        /// <summary>
        /// 是否成功
        /// </summary>
        public bool Success { get; set; }

        /// <summary>
        /// 已分配任务数量
        /// </summary>
        public int AssignedCount { get; set; }

        /// <summary>
        /// 消息
        /// </summary>
        public string? Message { get; set; }
    }
}