Quartz.NET V2.6.2版本简单使用
时间: 2023-11-20 21:06:33 浏览: 35
Quartz.NET是一个功能强大的开源调度框架,可以在.NET应用程序中使用。下面是Quartz.NET V2.6.2版本的简单使用方法:
1.安装Quartz.NET
使用NuGet安装Quartz.NET:
```
Install-Package Quartz
```
2.创建调度器
在应用程序中创建调度器实例:
```
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler().Result;
```
3.创建作业
创建实现IJob接口的作业类:
```csharp
public class MyJob : IJob
{
public Task Execute(IJobExecutionContext context)
{
Console.WriteLine("Hello World!");
return Task.CompletedTask;
}
}
```
4.创建触发器
创建触发器实例:
```csharp
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.RepeatForever())
.Build();
```
5.将作业和触发器关联
将作业和触发器关联到调度器中:
```csharp
IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("job1", "group1")
.Build();
scheduler.ScheduleJob(job, trigger);
```
6.启动调度器
启动调度器并等待作业运行:
```csharp
scheduler.Start();
```
完整代码示例:
```csharp
using Quartz;
using Quartz.Impl;
using System;
using System.Threading.Tasks;
namespace QuartzDemo
{
class Program
{
static async Task Main(string[] args)
{
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = await schedulerFactory.GetScheduler();
IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("job1", "group1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.RepeatForever())
.Build();
await scheduler.ScheduleJob(job, trigger);
await scheduler.Start();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
await scheduler.Shutdown();
}
}
public class MyJob : IJob
{
public Task Execute(IJobExecutionContext context)
{
Console.WriteLine("Hello World!");
return Task.CompletedTask;
}
}
}
```