iFileProxy/src/Models/Task.cs
2024-12-08 22:38:54 +08:00

137 lines
No EOL
3.5 KiB
C#

namespace iFileProxy.Models
{
/// <summary>
/// 任务状态
/// </summary>
public enum TaskState {
/// <summary>
/// 还未初始化
/// </summary>
NoInit = 0,
/// <summary>
/// 正在进行
/// </summary>
Running = 1,
/// <summary>
/// 任务执行时候发生错误 已经结束
/// </summary>
Error = 2,
/// <summary>
/// 任务正常结束
/// </summary>
End = 3,
/// <summary>
/// 要下载的内容已经缓存
/// </summary>
Cached = 4,
/// <summary>
/// 内容过期已被清理
/// </summary>
Cleaned = 5,
/// <summary>
/// 正在排队
/// </summary>
Queuing = 6,
/// <summary>
/// 任务因为各种原因被取消
/// </summary>
Canceled = 7,
/// <summary>
/// 其他
/// </summary>
Other = 999
}
/// <summary>
/// 任务添加状态
/// </summary>
public enum TaskAddState {
/// <summary>
/// 成功
/// </summary>
Success = 0,
/// <summary>
/// 失败
/// </summary>
Fail = 1,
/// <summary>
/// Url重复
/// </summary>
ErrUrlRepeat = 2,
/// <summary>
/// taskId重复
/// </summary>
ErrTaskIdRepeat = 3,
/// <summary>
/// Url无效
/// </summary>
ErrUrlInvalid = 4,
/// <summary>
/// 数据库过程失败
/// </summary>
ErrDbFail = 5,
/// <summary>
/// 并行任务达到设定最大值
/// </summary>
ErrMaxParallelTasksLimit = 6,
/// <summary>
/// 文件大小达到设定最大值
/// </summary>
ErrFileSizeLimit = 7,
/// <summary>
/// 指定的主机已经被管理员拉入黑名单
/// </summary>
ErrTargetHostForbidden = 8,
/// <summary>
/// 禁止的文件名
/// </summary>
ErrFileNameForbidden = 9,
/// <summary>
/// 来访者IP被管理员拉入黑名单
/// </summary>
ErrIPForbidden = 10,
/// <summary>
/// 获取下载信息时候出现错误
/// </summary>
ErrGetFileInfo = 11,
/// <summary>
/// 正在等待任务执行
/// </summary>
Pending = 12,
/// <summary>
/// 队列大小达到设定最大值
/// </summary>
ErrQueueLengthLimit = 13,
/// <summary>
/// 文件不允许0大小或者流式(动态大小)传输
/// </summary>
ErrDisabledStreamTransferOrZeroSize = 14,
/// <summary>
/// 触发关键词
/// </summary>
ErrKeywordForbidden = 15,
}
public class DownloadFileInfo {
/// <summary>
/// 文件名
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件大小
/// </summary>
public long Size { get; set; }
}
/// <summary>
/// 任务负载信息
/// </summary>
public class ServerTaskLoadInfo {
/// <summary>
/// 正在运行的任务数
/// </summary>
public int Running { get; set; }
/// <summary>
/// 正在队列中的任务数
/// </summary>
public int Queuing { get; set; }
}
}