TJC.Cyclops.TaskSystem
2025.12.3.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package TJC.Cyclops.TaskSystem --version 2025.12.3.2
NuGet\Install-Package TJC.Cyclops.TaskSystem -Version 2025.12.3.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TJC.Cyclops.TaskSystem" Version="2025.12.3.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TJC.Cyclops.TaskSystem" Version="2025.12.3.2" />
<PackageReference Include="TJC.Cyclops.TaskSystem" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TJC.Cyclops.TaskSystem --version 2025.12.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TJC.Cyclops.TaskSystem, 2025.12.3.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TJC.Cyclops.TaskSystem@2025.12.3.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TJC.Cyclops.TaskSystem&version=2025.12.3.2
#tool nuget:?package=TJC.Cyclops.TaskSystem&version=2025.12.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Cyclops.TaskSystem
项目概述
Cyclops.TaskSystem是Cyclops.Framework框架中的任务系统组件,提供任务调度、执行、监控和管理功能。该组件支持定时任务、延时任务、分布式任务等多种任务类型,并提供任务状态跟踪、失败重试、任务依赖管理等高级特性,适用于后台任务处理、定时作业执行、批量处理等应用场景。
核心功能模块
任务调度器
- 基于Quartz.NET的任务调度
- Cron表达式支持
- 任务优先级管理
- 并发控制
任务执行器
- 同步/异步任务执行
- 任务超时控制
- 资源限制管理
- 执行结果处理
任务管理
- 任务创建与配置
- 任务状态跟踪
- 任务暂停/恢复/取消
- 任务参数管理
失败处理
- 自动重试机制
- 失败通知
- 死信队列
- 异常捕获与记录
分布式支持
- 分布式锁
- 任务分片执行
- 节点健康检查
- 负载均衡
高级功能
- 任务依赖链
- 工作流集成
- 任务版本控制
- 性能监控与统计
技术栈
- .NET 8.0
- Quartz.NET(任务调度)
- Polly(重试策略)
- Cyclops.Common
- Cyclops.DI
- Cyclops.Logging
环境依赖
- .NET 8.0 SDK
- 可选:数据库(用于持久化任务状态)
安装配置
NuGet安装
Install-Package Cyclops.TaskSystem
基本配置
在应用程序启动时进行配置:
// 在Program.cs或Startup.cs中
using Cyclops.TaskSystem;
var builder = WebApplication.CreateBuilder(args);
// 添加Cyclops.TaskSystem服务
builder.Services.AddCyclopsTaskSystem(options => {
// 调度器配置
options.SchedulerOptions = new SchedulerOptions {
ThreadPoolSize = 10,
EnableBatchProcessing = true,
BatchSize = 50
}
## 版本信息
- 当前版本[](https://www.nuget.org/packages?q=TJC.Cyclops)
- 作者:yswenli
- 描述:企服版框架中任务系统组件
## 贡献者
- yswenli
## 许可证
保留所有权利;
// 持久化配置
options.StorageOptions = new TaskStorageOptions {
StorageType = TaskStorageType.InMemory, // 可选:InMemory, SqlServer, MySql等
ConnectionString = builder.Configuration["TaskSystem:StorageConnectionString"]
};
// 分布式配置(可选)
options.DistributedOptions = new DistributedTaskOptions {
Enabled = false,
LockExpiration = TimeSpan.FromMinutes(5),
NodeId = Environment.MachineName
};
// 重试配置
options.RetryOptions = new RetryOptions {
MaxRetries = 3,
RetryDelay = TimeSpan.FromSeconds(10),
RetryBackoffMultiplier = 2
};
// 启用日志
options.EnableLogging = true;
});
// ...
代码示例
基本任务定义与调度示例
using Cyclops.TaskSystem.Attributes;
using Cyclops.TaskSystem.Services;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
// 定义任务类
[TaskName("SampleTask")]
[Description("示例任务")]
public class SampleTask : ITask
{
private readonly ILogger<SampleTask> _logger;
public SampleTask(ILogger<SampleTask> logger)
{
_logger = logger;
}
public async Task<TaskResult> ExecuteAsync(TaskContext context)
{
try
{
_logger.LogInformation("任务开始执行,参数: {Parameters}", context.Parameters);
// 模拟任务执行
await Task.Delay(1000);
// 获取任务参数
var message = context.Parameters?.GetValueOrDefault("message", "无消息")?.ToString();
_logger.LogInformation("任务执行成功: {Message}", message);
// 返回成功结果
return TaskResult.Success(new Dictionary<string, object> {
{ "executedAt", DateTime.Now },
{ "result", "任务执行完成" }
});
}
catch (Exception ex)
{
_logger.LogError(ex, "任务执行失败");
return TaskResult.Failure(ex.Message);
}
}
}
## 版本信息
- 当前版本[](https://www.nuget.org/packages?q=TJC.Cyclops)
- 作者:yswenli
- 描述:企服版框架中任务系统组件
## 贡献者
- yswenli
## 许可证
保留所有权利
// 在服务中调度任务
public class TaskSchedulerService
{
private readonly ITaskScheduler _taskScheduler;
public TaskSchedulerService(ITaskScheduler taskScheduler)
{
_taskScheduler = taskScheduler;
}
public async Task ScheduleSampleTaskAsync()
{
// 立即执行任务
var immediateTaskId = await _taskScheduler.ScheduleTaskAsync<SampleTask>(new Dictionary<string, object> {
{ "message", "立即执行的任务" }
});
Console.WriteLine($"立即执行任务ID: {immediateTaskId}");
// 延时执行任务(10秒后)
var delayedTaskId = await _taskScheduler.ScheduleDelayedTaskAsync<SampleTask>(
delay: TimeSpan.FromSeconds(10),
parameters: new Dictionary<string, object> {
{ "message", "延时执行的任务" }
}
);
Console.WriteLine($"延时任务ID: {delayedTaskId}");
// 定时执行任务(使用Cron表达式,每分钟执行一次)
var scheduledTaskId = await _taskScheduler.ScheduleRecurringTaskAsync<SampleTask>(
cronExpression: "0 * * * * ?", // 每分钟执行
jobKey: "SampleTask_Recurring",
parameters: new Dictionary<string, object> {
{ "message", "定时重复执行的任务" }
}
);
Console.WriteLine($"定时任务ID: {scheduledTaskId}");
}
}
任务管理示例
using Cyclops.TaskSystem.Enums;
using Cyclops.TaskSystem.Services;
using Microsoft.Extensions.DependencyInjection;
// 在服务中管理任务
public class TaskManagementService
{
private readonly ITaskManager _taskManager;
public TaskManagementService(ITaskManager taskManager)
{
_taskManager = taskManager;
}
public async Task ManageTasksAsync()
{
// 获取任务状态
var taskId = "your-task-id";
var taskStatus = await _taskManager.GetTaskStatusAsync(taskId);
Console.WriteLine($"任务状态: {taskStatus.Status}");
Console.WriteLine($"创建时间: {taskStatus.CreatedAt}");
Console.WriteLine($"开始时间: {taskStatus.StartedAt}");
Console.WriteLine($"完成时间: {taskStatus.CompletedAt}");
Console.WriteLine($"执行次数: {taskStatus.ExecutionCount}");
// 暂停任务(仅对定时任务有效)
await _taskManager.PauseTaskAsync("recurring-task-key");
Console.WriteLine("任务已暂停");
// 恢复任务
await _taskManager.ResumeTaskAsync("recurring-task-key");
Console.WriteLine("任务已恢复");
// 取消任务
await _taskManager.CancelTaskAsync(taskId);
Console.WriteLine("任务已取消");
// 删除任务(从调度器中移除)
await _taskManager.DeleteTaskAsync("recurring-task-key");
Console.WriteLine("任务已删除");
// 查询任务列表
var tasks = await _taskManager.GetTasksAsync(new TaskQuery {
Status = TaskStatus.Completed,
CreatedAfter = DateTime.Now.AddDays(-7),
PageSize = 20,
PageIndex = 1
});
Console.WriteLine($"查询到 {tasks.TotalCount} 个任务");
foreach (var task in tasks.Items)
{
Console.WriteLine($"- 任务ID: {task.Id}, 状态: {task.Status}, 类型: {task.TaskType}");
}
}
}
分布式任务示例
using Cyclops.TaskSystem.Attributes;
using Cyclops.TaskSystem.Services;
using Microsoft.Extensions.DependencyInjection;
// 定义可分片的分布式任务
[TaskName("DistributedDataProcessTask")]
public class DistributedDataProcessTask : IDistributedTask
{
private readonly IDataService _dataService;
private readonly ILogger<DistributedDataProcessTask> _logger;
public DistributedDataProcessTask(IDataService dataService, ILogger<DistributedDataProcessTask> logger)
{
_dataService = dataService;
_logger = logger;
}
// 获取任务分片信息
public async Task<IEnumerable<TaskShard>> GetTaskShardsAsync(TaskContext context)
{
// 获取总数据量
var totalCount = await _dataService.GetTotalRecordCountAsync();
var shardSize = 1000; // 每个分片处理1000条记录
var shardCount = (int)Math.Ceiling((double)totalCount / shardSize);
var shards = new List<TaskShard>();
for (int i = 0; i < shardCount; i++)
{
shards.Add(new TaskShard {
ShardId = i.ToString(),
Parameters = new Dictionary<string, object> {
{ "offset", i * shardSize },
{ "limit", shardSize }
}
});
}
return shards;
}
// 执行单个分片
public async Task<TaskResult> ExecuteShardAsync(TaskContext context, TaskShard shard)
{
try
{
var offset = (int)shard.Parameters["offset"];
var limit = (int)shard.Parameters["limit"];
_logger.LogInformation("开始处理分片: {ShardId}, 偏移量: {Offset}, 数量: {Limit}",
shard.ShardId, offset, limit);
// 处理数据
var processedCount = await _dataService.ProcessDataBatchAsync(offset, limit);
_logger.LogInformation("分片处理完成: {ShardId}, 处理记录数: {Count}",
shard.ShardId, processedCount);
return TaskResult.Success(new Dictionary<string, object> {
{ "processedCount", processedCount },
{ "shardId", shard.ShardId }
});
}
catch (Exception ex)
{
_logger.LogError(ex, "分片处理失败: {ShardId}", shard.ShardId);
return TaskResult.Failure(ex.Message);
}
}
}
// 调度分布式任务
public class DistributedTaskService
{
private readonly IDistributedTaskScheduler _distributedTaskScheduler;
public DistributedTaskService(IDistributedTaskScheduler distributedTaskScheduler)
{
_distributedTaskScheduler = distributedTaskScheduler;
}
public async Task ScheduleDistributedTaskAsync()
{
// 配置分布式任务选项
var options = new DistributedTaskOptions {
MaxConcurrency = 5, // 最大并发分片数
EnableShardRetry = true,
ShardRetryCount = 3,
ProgressCallback = async (progress) => {
Console.WriteLine($"任务进度: {progress.CompletedShards}/{progress.TotalShards} ({progress.CompletionPercentage:P2})");
}
};
// 执行分布式任务
var taskId = await _distributedTaskScheduler.ExecuteDistributedTaskAsync<DistributedDataProcessTask>(
options: options,
parameters: new Dictionary<string, object> {
{ "processDate", DateTime.Today }
}
);
Console.WriteLine($"分布式任务ID: {taskId}");
// 监控任务进度
var taskProgress = await _distributedTaskScheduler.GetTaskProgressAsync(taskId);
Console.WriteLine($"任务进度详情:");
Console.WriteLine($"- 总分片数: {taskProgress.TotalShards}");
Console.WriteLine($"- 已完成分片: {taskProgress.CompletedShards}");
Console.WriteLine($"- 失败分片: {taskProgress.FailedShards}");
Console.WriteLine($"- 完成百分比: {taskProgress.CompletionPercentage:P2}");
Console.WriteLine($"- 开始时间: {taskProgress.StartedAt}");
Console.WriteLine($"- 预计完成时间: {taskProgress.EstimatedCompletionTime}");
}
}
任务依赖示例
using Cyclops.TaskSystem.Attributes;
using Cyclops.TaskSystem.Services;
using Microsoft.Extensions.DependencyInjection;
// 定义多个相关任务
[TaskName("DataExtractionTask")]
public class DataExtractionTask : ITask
{
public async Task<TaskResult> ExecuteAsync(TaskContext context)
{
Console.WriteLine("执行数据提取任务");
// 模拟数据提取
await Task.Delay(2000);
return TaskResult.Success(new Dictionary<string, object> {
{ "extractedDataCount", 1000 },
{ "extractionTime", DateTime.Now }
});
}
}
[TaskName("DataTransformationTask")]
public class DataTransformationTask : ITask
{
public async Task<TaskResult> ExecuteAsync(TaskContext context)
{
Console.WriteLine("执行数据转换任务");
// 获取前置任务结果
var extractedCount = context.PreviousTaskResult?["extractedDataCount"] as int? ?? 0;
// 模拟数据转换
await Task.Delay(3000);
return TaskResult.Success(new Dictionary<string, object> {
{ "transformedDataCount", extractedCount },
{ "transformationTime", DateTime.Now }
});
}
}
[TaskName("DataLoadingTask")]
public class DataLoadingTask : ITask
{
public async Task<TaskResult> ExecuteAsync(TaskContext context)
{
Console.WriteLine("执行数据加载任务");
// 获取前置任务结果
var transformedCount = context.PreviousTaskResult?["transformedDataCount"] as int? ?? 0;
// 模拟数据加载
await Task.Delay(2000);
return TaskResult.Success(new Dictionary<string, object> {
{ "loadedDataCount", transformedCount },
{ "loadingTime", DateTime.Now }
});
}
}
// 调度任务依赖链
public class TaskChainService
{
private readonly ITaskChainBuilder _taskChainBuilder;
public TaskChainService(ITaskChainBuilder taskChainBuilder)
{
_taskChainBuilder = taskChainBuilder;
}
public async Task BuildAndExecuteTaskChainAsync()
{
// 构建任务链
var taskChain = _taskChainBuilder
.AddTask<DataExtractionTask>()
.AddTask<DataTransformationTask>()
.AddTask<DataLoadingTask>()
.Build();
// 配置任务链选项
var options = new TaskChainOptions {
ContinueOnFailure = false, // 一个任务失败则整个链中断
EnableProgressTracking = true,
ProgressCallback = (progress) => {
Console.WriteLine($"任务链进度: {progress.CurrentTaskIndex + 1}/{progress.TotalTasks}, " +
$"当前任务: {progress.CurrentTaskName}, " +
$"状态: {progress.CurrentTaskStatus}");
}
};
// 执行任务链
var chainResult = await taskChain.ExecuteAsync(options);
Console.WriteLine($"任务链执行状态: {chainResult.Status}");
if (chainResult.Status == TaskChainStatus.Completed)
{
Console.WriteLine("任务链执行成功!");
// 输出每个任务的结果
foreach (var taskResult in chainResult.TaskResults)
{
Console.WriteLine($"- 任务: {taskResult.TaskName}, " +
$"状态: {taskResult.Status}, " +
$"执行时间: {taskResult.ExecutionTime.TotalMilliseconds}ms");
}
}
else
{
Console.WriteLine($"任务链执行失败: {chainResult.FailureReason}");
Console.WriteLine($"失败任务: {chainResult.FailedTaskName}");
}
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Quartz (>= 3.15.1)
- Quartz.AspNetCore (>= 3.15.1)
- SqlSugarCore (>= 5.1.4.210)
- TJC.Cyclops.Common (>= 2025.12.3.2)
- TJC.Cyclops.Redis (>= 2025.12.3.2)
- TJC.Cyclops.Web.Core (>= 2025.12.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2025.12.3.3 | 15 | 12/3/2025 |
| 2025.12.3.2 | 18 | 12/3/2025 |
| 2025.12.3.1 | 29 | 12/3/2025 |
| 2025.12.2.1 | 38 | 12/2/2025 |
| 2025.11.28.1 | 97 | 11/28/2025 |
| 2025.11.25.1 | 177 | 11/25/2025 |
| 2025.11.21.1 | 382 | 11/21/2025 |
| 2025.11.20.1 | 382 | 11/20/2025 |
| 2025.11.19.2 | 381 | 11/19/2025 |
| 2025.11.19.1 | 382 | 11/19/2025 |
| 2025.11.18.2 | 385 | 11/18/2025 |
| 2025.11.18.1 | 396 | 11/18/2025 |
| 2025.11.17.1 | 297 | 11/17/2025 |
| 2025.11.14.1 | 238 | 11/14/2025 |
| 2025.11.13.1 | 262 | 11/13/2025 |
| 2025.11.12.2 | 260 | 11/12/2025 |
| 2025.11.12.1 | 277 | 11/12/2025 |
| 2025.11.10.2 | 215 | 11/10/2025 |
| 2025.11.10.1 | 215 | 11/10/2025 |
| 2025.11.7.2 | 158 | 11/7/2025 |
| 2025.11.7.1 | 169 | 11/7/2025 |
| 2025.11.6.1 | 184 | 11/6/2025 |
| 2025.11.5.1 | 183 | 11/5/2025 |
| 2025.11.4.2 | 181 | 11/4/2025 |
| 2025.11.4.1 | 177 | 11/4/2025 |
| 2025.11.3.1 | 193 | 11/3/2025 |
| 2025.10.28.1 | 175 | 10/28/2025 |
| 2025.10.27.1 | 180 | 10/27/2025 |
| 2025.10.24.1 | 178 | 10/24/2025 |
| 2025.10.22.2 | 179 | 10/22/2025 |
| 2025.10.22.1 | 159 | 10/22/2025 |
| 2025.10.14.1 | 164 | 10/14/2025 |
| 2025.10.13.5 | 160 | 10/13/2025 |
| 2025.10.13.4 | 171 | 10/13/2025 |
| 2025.10.13.3 | 186 | 10/13/2025 |
| 2025.10.13.2 | 162 | 10/13/2025 |
| 2025.10.13.1 | 162 | 10/13/2025 |
| 2025.10.11.1 | 109 | 10/11/2025 |
| 2025.10.10.1 | 159 | 10/10/2025 |
| 2025.9.26.2 | 169 | 9/26/2025 |
| 2025.9.26.1 | 168 | 9/26/2025 |
| 2025.9.25.1 | 184 | 9/25/2025 |
| 2025.9.23.1 | 164 | 9/23/2025 |
| 2025.9.19.1 | 289 | 9/19/2025 |
| 2025.9.16.1 | 301 | 9/16/2025 |
| 2025.9.15.2 | 236 | 9/15/2025 |
| 2025.9.15.1 | 247 | 9/15/2025 |
| 2025.9.10.2 | 157 | 9/10/2025 |
| 2025.9.10.1 | 158 | 9/10/2025 |
| 2025.9.9.1 | 158 | 9/9/2025 |
| 2025.9.1.1 | 176 | 9/1/2025 |
| 2025.8.29.1 | 195 | 8/29/2025 |
| 2025.8.22.1 | 126 | 8/22/2025 |
| 2025.8.21.2 | 150 | 8/21/2025 |
| 2025.8.21.1 | 158 | 8/21/2025 |
| 2025.8.20.1 | 164 | 8/20/2025 |
| 2025.8.14.1 | 165 | 8/14/2025 |
| 2025.8.13.1 | 161 | 8/13/2025 |
| 2025.8.12.1 | 174 | 8/12/2025 |
| 2025.8.11.3 | 155 | 8/11/2025 |
| 2025.8.11.2 | 143 | 8/11/2025 |
| 2025.8.11.1 | 160 | 8/11/2025 |
| 2025.8.8.2 | 200 | 8/8/2025 |
| 2025.8.8.1 | 208 | 8/8/2025 |
| 2025.8.7.1 | 245 | 8/7/2025 |
| 2025.8.6.2 | 227 | 8/6/2025 |
| 2025.8.6.1 | 239 | 8/6/2025 |
| 2025.8.4.1 | 179 | 8/4/2025 |
| 2025.8.1.1 | 117 | 8/1/2025 |
| 2025.7.31.1 | 139 | 7/31/2025 |
| 2025.7.30.2 | 128 | 7/30/2025 |
| 2025.7.30.1 | 128 | 7/30/2025 |
| 2025.7.25.3 | 443 | 7/25/2025 |
| 2025.7.25.2 | 448 | 7/25/2025 |
| 2025.7.25.1 | 473 | 7/25/2025 |
| 2025.7.22.2 | 546 | 7/22/2025 |
| 2025.7.22.1 | 554 | 7/22/2025 |
| 2025.7.21.2 | 436 | 7/21/2025 |
| 2025.7.21.1 | 349 | 7/21/2025 |
| 2025.7.17.1 | 167 | 7/17/2025 |
| 2025.7.8.1 | 156 | 7/8/2025 |
| 2025.7.7.3 | 159 | 7/7/2025 |
| 2025.7.7.2 | 172 | 7/7/2025 |
| 2025.7.7.1 | 151 | 7/7/2025 |
| 2025.7.5.1 | 109 | 7/4/2025 |
| 2025.7.4.3 | 109 | 7/4/2025 |
| 2025.7.4.2 | 120 | 7/4/2025 |
| 2025.7.4.1 | 124 | 7/4/2025 |
| 2025.7.2.3 | 175 | 7/2/2025 |
| 2025.7.2.2 | 167 | 7/2/2025 |
| 2025.7.2.1 | 154 | 7/2/2025 |
| 2025.7.1.2 | 178 | 7/1/2025 |
| 2025.7.1.1 | 168 | 7/1/2025 |
| 2025.6.25.2 | 166 | 6/25/2025 |
| 2025.6.25.1 | 166 | 6/25/2025 |
| 2025.6.24.4 | 167 | 6/24/2025 |
| 2025.6.24.3 | 179 | 6/24/2025 |
| 2025.6.24.2 | 160 | 6/24/2025 |
| 2025.6.24.1 | 169 | 6/24/2025 |
| 2025.6.23.2 | 184 | 6/23/2025 |
| 2025.6.23.1 | 179 | 6/23/2025 |
| 2025.6.20.1 | 137 | 6/20/2025 |
| 2025.6.19.1 | 178 | 6/19/2025 |
| 2025.6.18.1 | 168 | 6/18/2025 |
| 2025.6.13.1 | 291 | 6/13/2025 |
| 2025.6.11.1 | 327 | 6/11/2025 |
| 2025.5.26.1 | 185 | 5/26/2025 |
| 2025.5.18.1 | 183 | 5/18/2025 |
| 2025.5.8.1 | 184 | 5/8/2025 |
| 2025.5.7.4 | 160 | 5/7/2025 |
| 2025.5.7.3 | 188 | 5/7/2025 |
| 2025.5.7.2 | 183 | 5/7/2025 |
| 2025.5.7.1 | 181 | 5/7/2025 |
| 2025.4.28.1 | 194 | 4/28/2025 |
| 2025.4.22.2 | 197 | 4/22/2025 |
| 2025.4.22.1 | 219 | 4/22/2025 |
| 2025.4.18.1 | 212 | 4/18/2025 |
| 2025.4.16.1 | 240 | 4/16/2025 |
| 2025.4.15.1 | 236 | 4/15/2025 |
| 2025.4.11.2 | 177 | 4/11/2025 |
| 2025.4.11.1 | 195 | 4/11/2025 |
| 2025.4.8.1 | 197 | 4/8/2025 |
| 2025.4.7.2 | 202 | 4/7/2025 |
| 2025.4.7.1 | 216 | 4/7/2025 |
| 2025.4.3.2 | 212 | 4/3/2025 |
| 2025.4.3.1 | 204 | 4/3/2025 |
| 2025.4.2.1 | 214 | 4/2/2025 |
| 2025.4.1.1 | 197 | 4/1/2025 |
| 2025.3.31.4 | 199 | 3/31/2025 |
| 2025.3.31.3 | 191 | 3/31/2025 |
| 2025.3.31.2 | 204 | 3/31/2025 |
| 2025.3.31.1 | 202 | 3/31/2025 |
| 2025.3.26.2 | 494 | 3/26/2025 |
| 2025.3.26.1 | 505 | 3/26/2025 |
| 2025.3.25.1 | 513 | 3/25/2025 |
| 2025.3.24.1 | 374 | 3/24/2025 |
| 2025.3.18.2 | 184 | 3/18/2025 |
| 2025.3.18.1 | 186 | 3/18/2025 |
| 2025.3.13.1 | 198 | 3/13/2025 |
| 2025.3.12.1 | 216 | 3/12/2025 |
| 2025.3.11.1 | 228 | 3/11/2025 |
| 2025.3.10.1 | 222 | 3/10/2025 |
| 2025.3.6.2 | 252 | 3/6/2025 |
| 2025.3.5.1 | 260 | 3/5/2025 |
| 2025.3.3.1 | 167 | 3/3/2025 |
| 2025.2.28.1 | 148 | 2/28/2025 |
| 2025.2.25.1 | 146 | 2/25/2025 |
| 2025.2.23.1 | 146 | 2/24/2025 |
| 2025.2.14.1 | 157 | 2/14/2025 |
| 2025.2.7.2 | 139 | 2/7/2025 |
| 2025.2.7.1 | 128 | 2/7/2025 |
| 2025.2.6.1 | 158 | 2/6/2025 |
| 2025.1.22.1 | 159 | 1/22/2025 |
| 2025.1.21.1 | 158 | 1/21/2025 |
| 2025.1.20.1 | 140 | 1/20/2025 |
| 2025.1.16.1 | 142 | 1/16/2025 |
| 2025.1.9.1 | 134 | 1/9/2025 |
| 2025.1.8.3 | 130 | 1/8/2025 |
| 2025.1.8.2 | 130 | 1/8/2025 |
| 2025.1.8.1 | 149 | 1/8/2025 |
| 2025.1.7.1 | 143 | 1/7/2025 |
| 2025.1.3.1 | 173 | 1/3/2025 |
| 2025.1.2.1 | 153 | 1/2/2025 |
| 2024.12.31.2 | 127 | 12/31/2024 |
| 2024.12.31.1 | 150 | 12/31/2024 |
| 2024.12.30.3 | 140 | 12/30/2024 |
| 2024.12.30.2 | 146 | 12/30/2024 |
| 2024.12.30.1 | 148 | 12/30/2024 |
| 2024.12.27.1 | 134 | 12/27/2024 |
| 2024.12.26.1 | 150 | 12/26/2024 |
| 2024.12.25.2 | 145 | 12/25/2024 |
| 2024.12.25.1 | 146 | 12/25/2024 |
| 2024.12.24.1 | 150 | 12/24/2024 |
| 2024.12.19.2 | 148 | 12/19/2024 |
| 2024.12.19.1 | 145 | 12/19/2024 |
| 2024.12.18.1 | 157 | 12/18/2024 |
| 2024.12.17.2 | 154 | 12/17/2024 |
| 2024.12.17.1 | 153 | 12/17/2024 |
| 2024.12.16.1 | 171 | 12/16/2024 |
| 2024.12.12.1 | 145 | 12/13/2024 |
| 2024.12.11.2 | 141 | 12/11/2024 |
| 2024.12.10.3 | 155 | 12/10/2024 |
| 2024.12.10.2 | 139 | 12/10/2024 |
| 2024.12.10.1 | 157 | 12/10/2024 |
| 2024.12.9.1 | 156 | 12/9/2024 |
| 2024.12.6.1 | 165 | 12/6/2024 |
| 2024.12.5.1 | 150 | 12/5/2024 |
| 2024.12.4.1 | 150 | 12/4/2024 |
| 2024.12.3.2 | 154 | 12/3/2024 |
| 2024.12.3.1 | 155 | 12/3/2024 |
| 2024.12.2.2 | 151 | 12/2/2024 |
| 2024.12.2.1 | 156 | 12/2/2024 |
| 2024.11.29.2 | 160 | 11/29/2024 |
| 2024.11.29.1 | 149 | 11/29/2024 |
| 2024.11.28.1 | 149 | 11/28/2024 |
| 2024.11.27.4 | 152 | 11/27/2024 |
| 2024.11.27.3 | 150 | 11/27/2024 |
| 2024.11.27.2 | 153 | 11/27/2024 |
| 2024.11.27.1 | 133 | 11/27/2024 |
| 2024.11.26.3 | 166 | 11/26/2024 |
| 2024.11.26.2 | 153 | 11/26/2024 |
| 2024.11.26.1 | 161 | 11/26/2024 |
| 2024.11.25.5 | 146 | 11/25/2024 |
| 2024.11.25.4 | 150 | 11/25/2024 |
| 2024.11.25.3 | 137 | 11/25/2024 |
| 2024.11.25.2 | 157 | 11/25/2024 |
| 2024.11.25.1 | 138 | 11/25/2024 |
| 2024.11.23.2 | 140 | 11/23/2024 |
| 2024.11.23.1 | 158 | 11/23/2024 |
| 2024.11.22.1 | 148 | 11/22/2024 |
| 2024.11.21.1 | 154 | 11/21/2024 |
| 2024.11.20.3 | 156 | 11/20/2024 |
| 2024.11.20.2 | 158 | 11/20/2024 |
| 2024.11.20.1 | 143 | 11/20/2024 |
| 2024.11.19.1 | 152 | 11/19/2024 |
| 2024.11.18.4 | 146 | 11/18/2024 |
| 2024.11.18.3 | 145 | 11/18/2024 |
| 2024.11.18.2 | 156 | 11/18/2024 |
| 2024.11.18.1 | 155 | 11/18/2024 |
| 2024.11.14.2 | 157 | 11/14/2024 |
| 2024.11.14.1 | 151 | 11/14/2024 |
| 2024.11.13.2 | 145 | 11/13/2024 |
| 2024.11.13.1 | 164 | 11/13/2024 |
| 2024.11.12.2 | 165 | 11/12/2024 |
| 2024.11.12.1 | 168 | 11/12/2024 |
| 2024.11.11.1 | 174 | 11/11/2024 |
| 2024.11.8.1 | 153 | 11/8/2024 |
| 2024.11.6.1 | 152 | 11/6/2024 |
| 2024.11.5.1 | 139 | 11/5/2024 |
| 2024.10.29.2 | 162 | 10/29/2024 |
| 2024.10.29.1 | 160 | 10/29/2024 |
| 2024.10.28.1 | 141 | 10/28/2024 |
| 2024.10.25.1 | 149 | 10/25/2024 |
| 2024.10.24.1 | 143 | 10/24/2024 |
| 2024.10.21.1 | 154 | 10/21/2024 |
| 2024.10.18.2 | 177 | 10/18/2024 |
| 2024.10.18.1 | 189 | 10/18/2024 |
| 2024.10.16.1 | 143 | 10/16/2024 |
| 2024.10.12.1 | 152 | 10/12/2024 |
| 2024.10.11.1 | 151 | 10/11/2024 |
| 2024.10.10.1 | 158 | 10/10/2024 |
| 2024.10.9.1 | 163 | 10/9/2024 |
| 2024.10.8.1 | 152 | 10/8/2024 |
| 2024.9.26.1 | 175 | 9/26/2024 |
| 2024.9.25.1 | 158 | 9/25/2024 |
| 2024.9.23.4 | 169 | 9/23/2024 |
| 2024.9.23.3 | 158 | 9/23/2024 |
| 2024.9.23.2 | 161 | 9/23/2024 |
| 2024.9.23.1 | 160 | 9/23/2024 |
| 2024.9.19.1 | 154 | 9/19/2024 |
| 2024.9.14.1 | 162 | 9/14/2024 |
| 2024.9.10.3 | 172 | 9/10/2024 |
| 2024.9.10.2 | 172 | 9/10/2024 |
| 2024.9.10.1 | 164 | 9/10/2024 |
| 2024.9.5.1 | 173 | 9/5/2024 |
| 2024.8.22.1 | 187 | 8/22/2024 |
| 2024.8.19.1 | 176 | 8/19/2024 |
| 2024.8.15.1 | 191 | 8/15/2024 |
| 2024.8.14.1 | 186 | 8/14/2024 |
| 2024.8.13.2 | 177 | 8/13/2024 |
| 2024.8.13.1 | 186 | 8/13/2024 |
| 2024.8.12.2 | 165 | 8/12/2024 |
| 2024.8.12.1 | 165 | 8/12/2024 |
| 2024.8.9.2 | 187 | 8/9/2024 |
| 2024.8.9.1 | 185 | 8/9/2024 |
| 2024.8.7.1 | 167 | 8/7/2024 |
| 2024.8.6.2 | 160 | 8/6/2024 |
| 2024.8.6.1 | 172 | 8/6/2024 |
| 2024.8.5.5 | 143 | 8/5/2024 |
| 2024.8.5.4 | 149 | 8/5/2024 |
| 2024.8.5.3 | 150 | 8/5/2024 |
| 2024.8.5.2 | 148 | 8/5/2024 |
| 2024.8.5.1 | 161 | 8/5/2024 |
| 2024.8.2.4 | 148 | 8/2/2024 |
| 2024.8.2.3 | 154 | 8/2/2024 |
| 2024.8.2.2 | 148 | 8/2/2024 |
| 2024.8.2.1 | 150 | 8/2/2024 |
| 2024.8.1.1 | 164 | 8/1/2024 |
| 2024.7.31.2 | 145 | 7/31/2024 |
| 2024.7.31.1 | 118 | 7/31/2024 |
| 2024.7.25.1 | 148 | 7/25/2024 |
| 2024.7.17.1 | 154 | 7/17/2024 |
| 2024.7.12.2 | 147 | 7/12/2024 |
| 2024.7.12.1 | 156 | 7/12/2024 |
| 2024.7.11.2 | 157 | 7/11/2024 |
| 2024.7.11.1 | 167 | 7/11/2024 |
| 2024.7.10.4 | 166 | 7/10/2024 |
| 2024.7.10.3 | 159 | 7/10/2024 |
| 2024.7.10.2 | 146 | 7/10/2024 |
| 2024.7.10.1 | 172 | 7/10/2024 |
| 2024.5.29.1 | 185 | 5/29/2024 |
| 2024.5.28.1 | 180 | 5/28/2024 |
| 2024.5.15.1 | 185 | 5/15/2024 |
| 2024.5.13.1 | 189 | 5/13/2024 |
| 2024.5.11.1 | 181 | 5/11/2024 |
| 2024.3.15.1 | 194 | 3/15/2024 |
| 2024.1.9.1 | 207 | 1/9/2024 |
| 2024.1.4.1 | 194 | 1/4/2024 |
| 2024.1.2.3 | 210 | 1/2/2024 |
| 2024.1.2.2 | 204 | 1/2/2024 |
| 2024.1.2.1 | 207 | 1/2/2024 |
| 2023.12.29.3 | 194 | 12/29/2023 |
| 2023.12.29.2 | 175 | 12/29/2023 |
| 2023.12.29.1 | 175 | 12/29/2023 |
| 2023.12.28.4 | 195 | 12/28/2023 |
| 2023.12.28.3 | 195 | 12/28/2023 |
| 2023.12.28.2 | 181 | 12/28/2023 |
| 2023.12.28.1 | 199 | 12/28/2023 |
| 2023.12.27.2 | 199 | 12/27/2023 |
| 2023.12.27.1 | 187 | 12/27/2023 |
| 2023.12.26.1 | 199 | 12/26/2023 |
| 2023.12.25.1 | 192 | 12/25/2023 |
| 2023.12.22.4 | 189 | 12/22/2023 |
| 2023.12.22.3 | 187 | 12/22/2023 |
| 2023.12.22.2 | 186 | 12/22/2023 |
| 2023.12.22.1 | 179 | 12/22/2023 |
| 2023.12.21.2 | 183 | 12/21/2023 |
| 2023.12.21.1 | 185 | 12/21/2023 |
| 2023.12.20.2 | 157 | 12/20/2023 |
| 2023.12.20.1 | 191 | 12/20/2023 |
企服版任务核心