- 在Startup.cs文件中,添加以下代码来配置Quartz定时任务:
public void ConfigureServices(IServiceCollection services) { services.AddQuartz(q => { q.UseMicrosoftDependencyInjectionJobFactory(); q.AddJob<YourJobClass>(j => j .WithIdentity("YourJobIdentity") .Build()); q.AddTrigger(t => t .WithIdentity("YourTriggerIdentity") .ForJob("YourJobIdentity") .WithCronSchedule("0/5 * * * * ?")); // 每分钟执行一次,可以根据需求调整Cron表达式 }); services.AddSingleton<IJobFactory, JobFactory>(); services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>(); services.AddSingleton<YourJobClass>(); }
- 创建一个继承自
IJob
接口的YourJobClass
类,用于定义定时任务的具体逻辑:public class YourJobClass : IJob { public Task Execute(IJobExecutionContext context) { // 在这里编写定时任务的具体逻辑 // 例如调用API、发送邮件等操作 return Task.CompletedTask; } }
- 最后,在你的应用程序中启动Quartz定时任务调度器:
public class YourStartupClass { private readonly IScheduler _scheduler; public YourStartupClass(IScheduler scheduler) { _scheduler = scheduler; } public async Task StartAsync(CancellationToken cancellationToken) { await _scheduler.Start(cancellationToken); } public async Task StopAsync(CancellationToken cancellationToken) { await _scheduler.Shutdown(cancellationToken); } }
在ASP.NET Core中使用Quartz.NET实现定时任务
于 2024-03-31 12:25:48 首次发布