轻量级 Quartz 可视化管理 UI 组件库 支持平台:.NET 5.0 / .NET 6.0 / .NET 8.0/ .NET 9.0
| Licence | Build | NuGet | Support |
|---|---|---|---|
| .Net5.0&.Net6.0&.Net8.0&.Net9.0 |
- 📊 可视化管理 Quartz 作业:添加、修改、删除、暂停、恢复任务
- 🔌 ClassJob 模式支持:直接通过类定义并注册任务
- 🗂️ 存储方式可选:支持文件存储、数据库存储两种模式
- 📦 Razor Class Library (RCL) 打包:静态资源嵌入程序集,开箱即用
- 🛠️ 无侵入集成:通过中间件和服务扩展快速接入
- 🔒 支持简易授权:支持Basic简易授权,让界面更安全
NuGet 安装:
dotnet add package GZY.Quartz.MUI1.在 Program.cs 或 Startup.cs 注册服务:
services.AddQuartzUI();
services.AddQuartzClassJobs(); // 如果需要 ClassJob 模式2.在 Configure 中启用中间件:
app.UseQuartz();1.在 Program.cs 或 Startup.cs 注册服务:
var optionsBuilder = new DbContextOptionsBuilder<QuarzEFContext>();
//这里注意,请引用对应数据库的EF core的驱动. 理论上支持EF core的数据库 全支持
optionsBuilder.UseMysql("server=xxxxxxx;database=xxx;User Id=xxxx;PWD=xxxx", b => b.MaxBatchSize(1));//创建数据库连接
services.AddQuartzUI(optionsBuilder.Options); //注入UI组件2.在 Configure 中启用中间件:
app.UseQuartz();localhost:5260/QuartzUI app.UseQuartzUIBasicAuthorized();//注意:要在app.UseQuartz()之前注入授权.
app.UseQuartz(); 默认账户名密码为:Admin,123456 可以通过在配置文件中添加配置修改.如下:
"QuartzUI": {
"UserName": "xxx",
"Pwd": "xxx"
},中文详细使用方法请参考: https://www.cnblogs.com/GuZhenYin/p/15411316.html
有个比较重要的注意事项 因为组件使用RCL的技术实现的,所以在开发环境需要手动添加一下静态资源包 .NET5.0的兄弟应该在Program类中添加如下代码:
webBuilder.UseStaticWebAssets();注意:2.8如果是数据库存储并从老版本更新的话 请手动添加JobStatus,DurationMs字段
Mysql例子如下:
ALTER TABLE `tab_quarz_tasklog` ADD COLUMN `DurationMs` int DEFAULT 0 NOT NULL COMMENT '任务耗时(毫秒)';
ALTER TABLE `tab_quarz_tasklog` ADD COLUMN `JobStatus` int DEFAULT 0 NOT NULL COMMENT '任务执行结果';1.新增任务界面搜索功能,可根据任务名称和任务分组名进行检索
2.新增任务仪表盘界面,方便随时监控定时任务情况
3.修复秒级任务在项目启动时偶尔会执行一次的BUG
4.修复API类型的任务异常被忽略,无法显示的问题
5.优化文件存储时,对文件操作的并发控制,确保在多线程环境下的安全性
6.组件相关支持到.net9.0
注意:2.7如果是数据库存储并从老版本更新的话,请手动给tab_quarz_task表添加ApiTimeOut字段
Mysql例子如下:
ALTER TABLE `tab_quarz_task` ADD COLUMN `ApiTimeOut` int NULL;1.添加API类任务的超时时间,可以通过全局配置也可以单个任务设置
2.设置定时任务日志查看默认按开始时间倒序
3.添加是否显示控制台日志的全局配置
目前支持两个参数:
ShowConsoleLog //是否显示控制台日志
DefaultApiTimeOut //默认全局API超时时间
初始化时,添加代码如下:
builder.Services.AddQuartzUI(quartzMUIOptions: new QuartzMUIOptions() { ShowConsoleLog=false,DefaultApiTimeOut=10});4.优化UI显示-固定操作栏和表头,方便任务较多的情况下操作
5.优化UI显示-执行记录消息添加支持br关键字进行换行查看
6.修复API类定时任务在没有参数的情况下会报错的问题




