基于Quartz的轻量级,注入化的UI组件
Licence | Build | NuGet | Support |
---|---|---|---|
.Net5.0&.Net6.0&.Net8.0 |
中文使用方法请参考:
https://www.cnblogs.com/GuZhenYin/p/15411316.html
简易步骤:
本地文件存储版本:
1.注入QuartzUI
services.AddQuartzUI();
2.如需开启ClassJob则注入以下内容
services.AddQuartzClassJobs();
数据库版本
1.注入QuartzUI
var optionsBuilder = new DbContextOptionsBuilder<QuarzEFContext>();
optionsBuilder.UseMysql("server=xxxxxxx;database=xxx;User Id=xxxx;PWD=xxxx", b => b.MaxBatchSize(1));//创建数据库连接
services.AddQuartzUI(optionsBuilder.Options); //注入UI组件
2.在Startup的Configure方法中添加以下内容:
app.UseQuartz();
有个比较重要的注意事项,一直忘记说了,这里也提一下
因为组件使用RCL的技术实现的,所以在开发环境需要手动添加一下静态资源包
.NET5.0的兄弟应该在Program类中添加如下代码:
webBuilder.UseStaticWebAssets();
.NET6.0+的兄弟 应该添加如下代码:
2.7 更新说明:
注意:2.7如果是数据库存储并从老版本更新的话 请手动添加ApiTimeOut字段
Mysql例子如下:
ALTER TABLE
tab_quarz_taskADD 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类定时任务在没有参数的情况下会报错的问题
注:界面参考Quartz.NetUI