.NET Core 基於Quartz的UI可視化操作組件 GZY.Quartz.MUI 簡介

前言

最近在用Quartz做定時任務.雖然很方便,但是Quartz自己貌似是沒有UI界面的..感覺操作起來 就很難受..

查了一下,貌似有個UI組件 不過看了一下文檔..直接給我勸退了..太麻煩了

我只想要一個像swaggerUI一樣,項目入侵量小,僅需要在Startup中注入的UI組件

然後就打算自己做一個.

最近終於完成第一個版本啦.. 打算直接開源給社區..

代碼暫時還沒上傳,容我在優化一下..

本篇主要就是簡單介紹一下如何使用和一部分界面.

 

正文

 1.注入QuartzUI

我們隨意創建一個託管項目,這裏我們以WebAPI作爲示例,

通過Nuget添加GZY.Quartz.MUI 組件,如圖:

 

 

在Startup的ConfigureServices中添加註入代碼如下:

public void ConfigureServices(IServiceCollection services)
{
            services.AddControllers();
            var optionsBuilder = new DbContextOptionsBuilder<QuarzEFContext>();
            optionsBuilder.UseDm("server=xxxxxxx;database=xxx;User Id=xxxx;PWD=xxxx", b => b.MaxBatchSize(1));
            services.AddQuartzUI(optionsBuilder.Options);

}

組件使用EF Core作爲數據持久化訪問的工具(後期考慮擴展使用本地化的文本和其他的ORM框架,源碼中也提供了接口,歡迎各路大神提交代碼自行實現),所以需要創建一個DbContextOptionsBuilder,添加給QuartzUI即可.

在Startup的Configure方法中添加以下內容:

  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseAuthorization();
            app.UseQuartz(); //這裏注入Quartz
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
  }

 

2.運行項目進入管理界面

直接運行項目,我們在URL中輸入固定後綴 QuartzUI 如圖:

 

 這樣,我們的定時任務組件就跑起來了.

 

3.創建一個API類型的定時任務

點擊新建任務,輸入對應參數.如圖:

 

 

注意:新建完成後任務處於未開啓狀態,需手動啓動.

點擊啓動任務,定時任務就會根據設置啓動了.

4.查看任務執行日誌

點擊任務後面的執行記錄,即可查詢.如圖:

 

 

5.任務持久化

組件已經自動將任務持久化處理,項目啓動時會自行根據數據庫的數據情況來初始化任務,無需進行其他處理.

 

 

後記

有心的同學已經已經發現了..我們有DLL的類型..

這種類型是直接調用項目中的代碼..就不用通過API接口了..因爲稍微麻煩一點,所以我們下篇再講..

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章