【中間件】c#/.net使用gzy.quartz.mui搭建可視化的定時任務面板

【中間件】c#/.net使用gzy.quartz.mui搭建可視化的定時任務面板

幫助開發人員通過面板來設置定時任務,主要想做的就是像swaggerui一樣,項目入侵量小,僅需要在startup中注入的ui組件

最后更新 2022/5/26 下午8:17
黑哥聊dotNet
预计阅读 2 分钟
分类
.NET
标签
.NET C#

前言

gzy.quartz.mui 是在 github 上開源的 asp.net core 項目, 它旨在幫助開發人員通過面板來設置定時任務,主要想做的就是像 swaggerui 一樣, 項目入侵量小, 僅需要在 startup 中注入的 ui 組件。

官方地址: https://www.cnblogs.com/GuZhenYin/p/15745002.html

主要功能

  1. 增加本地 json 持久化調度任務, 無需資料庫。

  2. 增加直接調用本地類方法, 無需通過 webapi 接口。

如何使用?

第一步:打開 vs 新建.net 項目,我這裡用的是.net core web api 進行演示。

第二步:使用 NuGet 安装 GZY.Quartz.MUI 包:

第三步:在 startup.cs 中的 configureservices 添加 gzy.quartz.mui 服務

public void ConfigureServices(IServiceCollection services)
{

	services.AddControllers();
	services.AddQuartzUI();
	services.AddQuartzClassJobs(); //添加本地调度任务访问
	//  services.AddSingleton<TestJob>();//注入
}

第四步:啟用該中間件

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!");
			});
		});
	}

最后运行项目,在浏览器中导航到 [您的域名]/QuartzUI 就可以看到该项目已经搭建成功了。

簡單說明

設置定時任務一共有兩種類型:

  • 一種是直接調用接口

輸入你想定時啟動的接口,我這裡用我寫的 test 接口

  • 一種是調用本地類

通过调用本地 dll 的方式,新建的类继承IJobService即可

總結

本篇博客描述了 gzy.quartz.mui 搭建可視化的定時任務面板。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/2/7

aot使用經驗總結

從項目創建伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 aot 發布測試。

继续阅读