(转自https://blog.csdn.net/CONSOLE11/article/details/122246519)

创建项目

我们先创建一个空白的ASP.NET Core 项目
image.png

引用组件

nuget引用最新版本的GZY.Quartz.MUI组件

Startup类

在ConfigureServices里添加以下代码

  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. services.AddQuartzUI();
  4. services.AddQuartzClassJobs(); //添加本地调度任务访问
  5. }

在Configure里添加以下代码

  1. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  2. {
  3. if (env.IsDevelopment())
  4. {
  5. app.UseDeveloperExceptionPage();
  6. app.UseSwagger();
  7. app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Quartz.MUI.Demo v1"));
  8. }
  9. app.UseRouting();
  10. app.UseQuartz();
  11. app.UseAuthorization();
  12. app.UseEndpoints(endpoints =>
  13. {
  14. endpoints.MapControllers();
  15. });
  16. }

测试运行

运行并启动项目,在弹出来的地址中,输入后缀 /QuartzUI,如图:
![{$KF_ZU`A1F0@FI0@LUHO2.png

在线Cron生成器

https://cron.qqe2.com/

新增任务

新添加的任务,默认是暂停状态,需要启动后才能立即执行

调用本地类方法

GZY.Quartz.MUI添加了通过继承接口,就可以直接调用本地方法的方式

  1. 先创建一个TestJob测试类,继承IJobService如下: ```csharp using GZY.Quartz.MUI.BaseService; using Microsoft.Extensions.Logging; using System;

namespace Quartz.MUI.Demo.Services { public class TestJob : IJobService { private readonly ILogger _logger; public TestJob(ILogger logger) { _logger = logger; } public string ExecuteService(string parameter) { _logger.LogDebug($”TestJob.{DateTime.Now.ToString()}”); return “定时任务已执行成功!”; } } }

  1. 2. ConfigureServices里添加以下代码
  2. ```csharp
  3. public void ConfigureServices(IServiceCollection services)
  4. {
  5. services.AddQuartzUI();
  6. services.AddQuartzClassJobs(); //添加本地调度任务访问
  7. services.AddControllers();
  8. services.AddSwaggerGen(c =>
  9. {
  10. c.SwaggerDoc("v1", new OpenApiInfo { Title = "Quartz.MUI.Demo", Version = "v1" });
  11. });
  12. }
  1. 运行项目,并添加测试调度任务,如图:

image.png

  1. 启动任务,并立即执行, 这样,我们就完成了本地定时任务的调用啦~

![(K}G7BKMHRMS5Z7T`8}940.png

调用Web API