之前發布過第一個版本,有興趣的可以去看看:
NET Core 基於Quartz的UI可視化操作組件 GZY.Quartz.MUI 簡介
GitHub開源地址:l2999019/GZY.Quartz.MUI: 基於Quartz的輕量級,注入化的UI組件 (github.com) (歡迎點Start收藏~)
總而言之,這個組件主要想做的就是:像swaggerUI一樣,項目入侵量小,僅需要在Startup中注入的UI組件
目前完成了第二個版本,
1.增加本地json持久化調度任務,無需數據庫
2.增加直接調用本地類方法,無需通過WebAPI接口.
本篇主要是介紹一下這兩個新增的功能.
一.增加本地json持久化調度任務,無需數據庫
1.首先,我們創建一個空白的ASP.NET Core 項目(MVC、Razor和WebAPI都行),如圖:
2.通過nuget引用最新版本的GZY.Quartz.MUI組件,如圖:
3.修改一下Startup.cs
在ConfigureServices添加一行代碼如下:
public void ConfigureServices(IServiceCollection services) { services.AddQuartzUI(); }
在Configure添加一行代碼如下:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseQuartz(); //添加這行代碼 app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { await context.Response.WriteAsync("Hello World!"); }); }); }
4.運行並啟動項目,在彈出來的地址中,輸入后綴 /QuartzUI,如圖:
我們就可以愉快的開始添加自己的定時調度任務啦~(PS:新添加的任務,默認是暫停狀態,需要啟動后才能立即執行哦)
二.增加直接調用本地類方法,無需通過WebAPI接口.
上一個版本發布之后,有小伙伴反映,調度任務只能通過webapi去調用,在一些小型項目中難應用,比如純MVC的項目
這次我添加了通過繼承接口,就可以直接調用本地方法的方式~ 我們來一步步介紹.
1.我們創建一個測試類,繼承IJobService如下:
public class TestJob : IJobService { public string ExecuteService(string parameter) { return "定時任務已執行成功!"; } }
2.在Startup的ConfigureServices方法中,添加如下代碼:
public void ConfigureServices(IServiceCollection services) { services.AddQuartzUI(); services.AddQuartzClassJobs(); //添加本地調度任務訪問 }
3.運行項目,並添加測試調度任務,如圖:
4.啟動任務,並立即執行,如動圖所示:
這樣,我們就完成了本地定時任務的調用啦~