TJC.Cyclops.TaskSystem 2025.12.23.1

dotnet add package TJC.Cyclops.TaskSystem --version 2025.12.23.1
                    
NuGet\Install-Package TJC.Cyclops.TaskSystem -Version 2025.12.23.1
                    
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.23.1" />
                    
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.23.1" />
                    
Directory.Packages.props
<PackageReference Include="TJC.Cyclops.TaskSystem" />
                    
Project file
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.23.1
                    
#r "nuget: TJC.Cyclops.TaskSystem, 2025.12.23.1"
                    
#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.23.1
                    
#: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.23.1
                    
Install as a Cake Addin
#tool nuget:?package=TJC.Cyclops.TaskSystem&version=2025.12.23.1
                    
Install as a Cake Tool

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
    }

## 版本信息
- 当前版本[![NuGet version (Cyclops.Framework)](https://img.shields.io/nuget/v/Cyclops.Framework.svg?style=flat-square)](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);
        }
    }
}

## 版本信息
- 当前版本[![NuGet version (Cyclops.Framework)](https://img.shields.io/nuget/v/Cyclops.Framework.svg?style=flat-square)](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 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.

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.23.1 160 12/23/2025
2025.12.16.1 278 12/16/2025
2025.12.15.2 226 12/15/2025
2025.12.15.1 210 12/15/2025
2025.12.12.1 125 12/12/2025
2025.12.11.1 411 12/11/2025
2025.12.4.1 197 12/4/2025
2025.12.3.3 660 12/3/2025
2025.12.3.2 662 12/3/2025
2025.12.3.1 660 12/3/2025
2025.12.2.1 667 12/2/2025
2025.11.28.1 152 11/28/2025
2025.11.25.1 192 11/25/2025
2025.11.21.1 395 11/21/2025
2025.11.20.1 395 11/20/2025
2025.11.19.2 395 11/19/2025
2025.11.19.1 391 11/19/2025
2025.11.18.2 399 11/18/2025
2025.11.18.1 408 11/18/2025
2025.11.17.1 311 11/17/2025
2025.11.14.1 249 11/14/2025
2025.11.13.1 273 11/13/2025
2025.11.12.2 275 11/12/2025
2025.11.12.1 292 11/12/2025
2025.11.10.2 223 11/10/2025
2025.11.10.1 225 11/10/2025
2025.11.7.2 168 11/7/2025
2025.11.7.1 183 11/7/2025
2025.11.6.1 194 11/6/2025
2025.11.5.1 194 11/5/2025
2025.11.4.2 190 11/4/2025
2025.11.4.1 186 11/4/2025
2025.11.3.1 205 11/3/2025
2025.10.28.1 184 10/28/2025
2025.10.27.1 190 10/27/2025
2025.10.24.1 185 10/24/2025
2025.10.22.2 190 10/22/2025
2025.10.22.1 172 10/22/2025
2025.10.14.1 178 10/14/2025
2025.10.13.5 171 10/13/2025
2025.10.13.4 182 10/13/2025
2025.10.13.3 198 10/13/2025
2025.10.13.2 175 10/13/2025
2025.10.13.1 178 10/13/2025
2025.10.11.1 119 10/11/2025
2025.10.10.1 174 10/10/2025
2025.9.26.2 179 9/26/2025
2025.9.26.1 180 9/26/2025
2025.9.25.1 197 9/25/2025
2025.9.23.1 178 9/23/2025
2025.9.19.1 302 9/19/2025
2025.9.16.1 314 9/16/2025
2025.9.15.2 248 9/15/2025
2025.9.15.1 263 9/15/2025
2025.9.10.2 169 9/10/2025
2025.9.10.1 169 9/10/2025
2025.9.9.1 172 9/9/2025
2025.9.1.1 187 9/1/2025
2025.8.29.1 203 8/29/2025
2025.8.22.1 138 8/22/2025
2025.8.21.2 158 8/21/2025
2025.8.21.1 170 8/21/2025
2025.8.20.1 174 8/20/2025
2025.8.14.1 173 8/14/2025
2025.8.13.1 168 8/13/2025
2025.8.12.1 180 8/12/2025
2025.8.11.3 166 8/11/2025
2025.8.11.2 153 8/11/2025
2025.8.11.1 173 8/11/2025
2025.8.8.2 211 8/8/2025
2025.8.8.1 217 8/8/2025
2025.8.7.1 257 8/7/2025
2025.8.6.2 237 8/6/2025
2025.8.6.1 249 8/6/2025
2025.8.4.1 189 8/4/2025
2025.8.1.1 126 8/1/2025
2025.7.31.1 152 7/31/2025
2025.7.30.2 141 7/30/2025
2025.7.30.1 142 7/30/2025
2025.7.25.3 451 7/25/2025
2025.7.25.2 461 7/25/2025
2025.7.25.1 483 7/25/2025
2025.7.22.2 560 7/22/2025
2025.7.22.1 566 7/22/2025
2025.7.21.2 445 7/21/2025
2025.7.21.1 357 7/21/2025
2025.7.17.1 177 7/17/2025
2025.7.8.1 166 7/8/2025
2025.7.7.3 168 7/7/2025
2025.7.7.2 181 7/7/2025
2025.7.7.1 160 7/7/2025
2025.7.5.1 119 7/4/2025
2025.7.4.3 119 7/4/2025
2025.7.4.2 129 7/4/2025
2025.7.4.1 131 7/4/2025
2025.7.2.3 186 7/2/2025
2025.7.2.2 178 7/2/2025
2025.7.2.1 163 7/2/2025
2025.7.1.2 188 7/1/2025
2025.7.1.1 177 7/1/2025
2025.6.25.2 173 6/25/2025
2025.6.25.1 173 6/25/2025
2025.6.24.4 176 6/24/2025
2025.6.24.3 193 6/24/2025
2025.6.24.2 167 6/24/2025
2025.6.24.1 176 6/24/2025
2025.6.23.2 191 6/23/2025
2025.6.23.1 191 6/23/2025
2025.6.20.1 149 6/20/2025
2025.6.19.1 183 6/19/2025
2025.6.18.1 175 6/18/2025
2025.6.13.1 299 6/13/2025
2025.6.11.1 335 6/11/2025
2025.5.26.1 194 5/26/2025
2025.5.18.1 195 5/18/2025
2025.5.8.1 194 5/8/2025
2025.5.7.4 168 5/7/2025
2025.5.7.3 199 5/7/2025
2025.5.7.2 193 5/7/2025
2025.5.7.1 193 5/7/2025
2025.4.28.1 202 4/28/2025
2025.4.22.2 205 4/22/2025
2025.4.22.1 229 4/22/2025
2025.4.18.1 219 4/18/2025
2025.4.16.1 250 4/16/2025
2025.4.15.1 245 4/15/2025
2025.4.11.2 189 4/11/2025
2025.4.11.1 210 4/11/2025
2025.4.8.1 205 4/8/2025
2025.4.7.2 210 4/7/2025
2025.4.7.1 224 4/7/2025
2025.4.3.2 217 4/3/2025
2025.4.3.1 212 4/3/2025
2025.4.2.1 222 4/2/2025
2025.4.1.1 206 4/1/2025
2025.3.31.4 205 3/31/2025
2025.3.31.3 197 3/31/2025
2025.3.31.2 218 3/31/2025
2025.3.31.1 207 3/31/2025
2025.3.26.2 503 3/26/2025
2025.3.26.1 514 3/26/2025
2025.3.25.1 521 3/25/2025
2025.3.24.1 384 3/24/2025
2025.3.18.2 197 3/18/2025
2025.3.18.1 196 3/18/2025
2025.3.13.1 206 3/13/2025
2025.3.12.1 222 3/12/2025
2025.3.11.1 237 3/11/2025
2025.3.10.1 231 3/10/2025
2025.3.6.2 264 3/6/2025
2025.3.5.1 267 3/5/2025
2025.3.3.1 175 3/3/2025
2025.2.28.1 157 2/28/2025
2025.2.25.1 154 2/25/2025
2025.2.23.1 156 2/24/2025
2025.2.14.1 166 2/14/2025
2025.2.7.2 147 2/7/2025
2025.2.7.1 134 2/7/2025
2025.2.6.1 166 2/6/2025
2025.1.22.1 165 1/22/2025
2025.1.21.1 167 1/21/2025
2025.1.20.1 149 1/20/2025
2025.1.16.1 152 1/16/2025
2025.1.9.1 142 1/9/2025
2025.1.8.3 139 1/8/2025
2025.1.8.2 135 1/8/2025
2025.1.8.1 158 1/8/2025
2025.1.7.1 149 1/7/2025
2025.1.3.1 186 1/3/2025
2025.1.2.1 168 1/2/2025
2024.12.31.2 138 12/31/2024
2024.12.31.1 159 12/31/2024
2024.12.30.3 148 12/30/2024
2024.12.30.2 153 12/30/2024
2024.12.30.1 158 12/30/2024
2024.12.27.1 146 12/27/2024
2024.12.26.1 157 12/26/2024
2024.12.25.2 155 12/25/2024
2024.12.25.1 153 12/25/2024
2024.12.24.1 158 12/24/2024
2024.12.19.2 158 12/19/2024
2024.12.19.1 153 12/19/2024
2024.12.18.1 164 12/18/2024
2024.12.17.2 163 12/17/2024
2024.12.17.1 162 12/17/2024
2024.12.16.1 180 12/16/2024
2024.12.12.1 153 12/13/2024
2024.12.11.2 147 12/11/2024
2024.12.10.3 160 12/10/2024
2024.12.10.2 152 12/10/2024
2024.12.10.1 165 12/10/2024
2024.12.9.1 164 12/9/2024
2024.12.6.1 173 12/6/2024
2024.12.5.1 156 12/5/2024
2024.12.4.1 162 12/4/2024
2024.12.3.2 161 12/3/2024
2024.12.3.1 165 12/3/2024
2024.12.2.2 161 12/2/2024
2024.12.2.1 164 12/2/2024
2024.11.29.2 167 11/29/2024
2024.11.29.1 154 11/29/2024
2024.11.28.1 158 11/28/2024
2024.11.27.4 158 11/27/2024
2024.11.27.3 159 11/27/2024
2024.11.27.2 164 11/27/2024
2024.11.27.1 139 11/27/2024
2024.11.26.3 178 11/26/2024
2024.11.26.2 159 11/26/2024
2024.11.26.1 168 11/26/2024
2024.11.25.5 156 11/25/2024
2024.11.25.4 158 11/25/2024
2024.11.25.3 144 11/25/2024
2024.11.25.2 169 11/25/2024
2024.11.25.1 146 11/25/2024
2024.11.23.2 147 11/23/2024
2024.11.23.1 165 11/23/2024
2024.11.22.1 153 11/22/2024
2024.11.21.1 165 11/21/2024
2024.11.20.3 161 11/20/2024
2024.11.20.2 163 11/20/2024
2024.11.20.1 151 11/20/2024
2024.11.19.1 159 11/19/2024
2024.11.18.4 153 11/18/2024
2024.11.18.3 154 11/18/2024
2024.11.18.2 164 11/18/2024
2024.11.18.1 164 11/18/2024
2024.11.14.2 163 11/14/2024
2024.11.14.1 157 11/14/2024
2024.11.13.2 154 11/13/2024
2024.11.13.1 171 11/13/2024
2024.11.12.2 171 11/12/2024
2024.11.12.1 173 11/12/2024
2024.11.11.1 182 11/11/2024
2024.11.8.1 165 11/8/2024
2024.11.6.1 160 11/6/2024
2024.11.5.1 148 11/5/2024
2024.10.29.2 172 10/29/2024
2024.10.29.1 171 10/29/2024
2024.10.28.1 147 10/28/2024
2024.10.25.1 157 10/25/2024
2024.10.24.1 150 10/24/2024
2024.10.21.1 160 10/21/2024
2024.10.18.2 184 10/18/2024
2024.10.18.1 197 10/18/2024
2024.10.16.1 149 10/16/2024
2024.10.12.1 158 10/12/2024
2024.10.11.1 159 10/11/2024
2024.10.10.1 166 10/10/2024
2024.10.9.1 170 10/9/2024
2024.10.8.1 160 10/8/2024
2024.9.26.1 186 9/26/2024
2024.9.25.1 167 9/25/2024
2024.9.23.4 174 9/23/2024
2024.9.23.3 168 9/23/2024
2024.9.23.2 172 9/23/2024
2024.9.23.1 164 9/23/2024
2024.9.19.1 160 9/19/2024
2024.9.14.1 169 9/14/2024
2024.9.10.3 181 9/10/2024
2024.9.10.2 178 9/10/2024
2024.9.10.1 172 9/10/2024
2024.9.5.1 183 9/5/2024
2024.8.22.1 191 8/22/2024
2024.8.19.1 181 8/19/2024
2024.8.15.1 197 8/15/2024
2024.8.14.1 195 8/14/2024
2024.8.13.2 186 8/13/2024
2024.8.13.1 194 8/13/2024
2024.8.12.2 173 8/12/2024
2024.8.12.1 172 8/12/2024
2024.8.9.2 196 8/9/2024
2024.8.9.1 192 8/9/2024
2024.8.7.1 174 8/7/2024
2024.8.6.2 168 8/6/2024
2024.8.6.1 184 8/6/2024
2024.8.5.5 154 8/5/2024
2024.8.5.4 159 8/5/2024
2024.8.5.3 158 8/5/2024
2024.8.5.2 157 8/5/2024
2024.8.5.1 165 8/5/2024
2024.8.2.4 155 8/2/2024
2024.8.2.3 163 8/2/2024
2024.8.2.2 157 8/2/2024
2024.8.2.1 155 8/2/2024
2024.8.1.1 172 8/1/2024
2024.7.31.2 153 7/31/2024
2024.7.31.1 129 7/31/2024
2024.7.25.1 155 7/25/2024
2024.7.17.1 160 7/17/2024
2024.7.12.2 151 7/12/2024
2024.7.12.1 163 7/12/2024
2024.7.11.2 161 7/11/2024
2024.7.11.1 176 7/11/2024
2024.7.10.4 173 7/10/2024
2024.7.10.3 166 7/10/2024
2024.7.10.2 155 7/10/2024
2024.7.10.1 181 7/10/2024
2024.5.29.1 195 5/29/2024
2024.5.28.1 193 5/28/2024
2024.5.15.1 193 5/15/2024
2024.5.13.1 196 5/13/2024
2024.5.11.1 186 5/11/2024
2024.3.15.1 202 3/15/2024
2024.1.9.1 213 1/9/2024
2024.1.4.1 201 1/4/2024
2024.1.2.3 219 1/2/2024
2024.1.2.2 219 1/2/2024
2024.1.2.1 214 1/2/2024
2023.12.29.3 203 12/29/2023
2023.12.29.2 182 12/29/2023
2023.12.29.1 184 12/29/2023
2023.12.28.4 208 12/28/2023
2023.12.28.3 202 12/28/2023
2023.12.28.2 194 12/28/2023
2023.12.28.1 211 12/28/2023
2023.12.27.2 205 12/27/2023
2023.12.27.1 199 12/27/2023
2023.12.26.1 206 12/26/2023
2023.12.25.1 202 12/25/2023
2023.12.22.4 197 12/22/2023
2023.12.22.3 192 12/22/2023
2023.12.22.2 193 12/22/2023
2023.12.22.1 189 12/22/2023
2023.12.21.2 190 12/21/2023
2023.12.21.1 193 12/21/2023
2023.12.20.2 160 12/20/2023
2023.12.20.1 198 12/20/2023

企服版任务核心