v2.1.0
约 895 字大约 3 分钟
2026-05-19
日期:2026-05-18 类型:Feature / Enhancement
变更概述
为了提升 UniCon 系统任务调度的灵活性与易用性,本次更新对 Job 模块进行了全面升级,包括:
- 当前执行任务统计:新增实时统计和获取当前正在执行的 Job 数量及上下文信息。
- 完整的增删改查 (CRUD):支持对已调度任务进行添加、修改 (Reschedule / 更新 JobData)、删除和查询详情/列表。
- IoC 扩展集成 (AddUniConJobs):封装一键式 IoC 容器注入方法,极大降低了用户集成和使用 Job 模块的门槛。
- 单元测试与 API 路由补全:新增/更新对应的测试用例及 WebServer 的 API 路由,确保生产级稳定性。
[v2.1.0] - 2026-05-18
Added / Changed / Fixed
- Added:新增
JobInfo数据模型,用以优雅呈现当前任务的调度状态、参数配置及触发器类型。 - Added:在
JobScheduler中实现了活动任务运行统计GetExecutingJobsCountAsync()、获取全局任务列表GetJobsAsync()以及获取单个任务调度详情GetJobAsync(id)。 - Added:实现了高灵活性的任务增删改查 (CRUD),支持按静态强类型或运行时动态类型调度
ScheduleJobAsync(...),按唯一 Key 删除任务DeleteJobAsync(id),以及动态更新 Cron 规则与伴随参数UpdateJobAsync(...)。 - Added:在
ServiceCollectionExtensions中设计了AddUniConJobs()极简 IoC 扩展,集成了 Quartz.NET 微软依赖注入工厂支持,并对当前程序集内所有非抽象的IJob实现类进行自动扫描和瞬时依赖项注入。 - Added:在 WebServer 项目中为
Program.cs配套完成了 5 个极简 Web API 路由,用于监控和控制运行时的任务生命周期。 - Added:为测试项目
JobSystemTests.cs配套补充了 4 个涵盖 CRUD 和统计的完整单元测试。 - Added:补充了组件架构和 API 设计文档于
docs/4. jobs/目录。
Key Changes
- 将原本繁琐的 Quartz 集成流程与内置任务注册封装合并为了极简的
builder.Services.AddUniConJobs();一行式注入,对用户完全隐藏了底层复杂的配置逻辑。 - 动态 API 支持解析任意实现了
IJob接口的任务,解决了传统框架下必须预先硬编码依赖注入导致的任务扩展受限瓶颈。 - 统一了运行时与调度器的生命周期托管,修复了可能导致上下文死锁的 Disposing 泄露。
------details-----
🔍 Task Details
📌 Current Task Board: Job 调度系统升级
🎯 最终目标
- 完善
JobSchedulerCRUD、当前执行数量统计,并在ServiceCollectionExtensions中提供一键 IoC 注入,补全单元测试与 API 路由。
📂 涉及文件 (Strictly Locked)
📝 Steps
------details end------
