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


前言

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

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

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

然后就打算自己做一個.

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

代碼已開源:點擊跳轉github(歡迎點Start收藏~)

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

 

正文

 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接口了..因為稍微麻煩一點,所以我們下篇再講..


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM