如何使用QuartZNet设置定时任务,请给出代码示例
时间: 2023-05-11 19:06:53 浏览: 122
以下是使用 QuartZNet 设置定时任务的代码示例:
```csharp
using Quartz;
using Quartz.Impl;
class Program
{
static async Task Main(string[] args)
{
// 创建调度器
var schedulerFactory = new StdSchedulerFactory();
var scheduler = await schedulerFactory.GetScheduler();
// 创建任务
var job = JobBuilder.Create<MyJob>()
.WithIdentity("myJob", "group1")
.Build();
// 创建触发器
var trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.RepeatForever())
.Build();
// 将任务和触发器添加到调度器中
await scheduler.ScheduleJob(job, trigger);
// 启动调度器
await scheduler.Start();
// 等待一段时间
await Task.Delay(TimeSpan.FromSeconds(60));
// 停止调度器
await scheduler.Shutdown();
}
}
public class MyJob : IJob
{
public Task Execute(IJobExecutionContext context)
{
Console.WriteLine("Hello, world!");
return Task.CompletedTask;
}
}
```
这段代码创建了一个调度器,然后创建了一个名为 `MyJob` 的任务,以及一个每隔 10 秒钟执行一次的触发器。最后,将任务和触发器添加到调度器中,并启动调度器。在任务执行时,会输出一条消息 "Hello, world!"。