之前釋出過第一個版本,有興趣的可以去看看:
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.啟動任務,並立即執行,如動圖所示:
這樣,我們就完成了本地定時任務的呼叫啦~