我尝试使用 本教程
实现一个非常简单的 Quartz.net 实现using Quartz;
using Quartz.Impl;
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(HelloJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);
我遇到的问题是(例如)
MakeHourlyTrigger
在智能感知中不可用,并给出错误
Quartz.TriggerUtils 不包含“MakeHourlyTrigger”的定义。
我在
JobDetail
等类型上遇到错误:
“找不到类型或命名空间名称“JobDetail”(您是否缺少 using 指令或程序集引用?)”
也许我很累,错过了一些愚蠢而简单的事情......我希望情况如此。我在互联网上看到的所有示例都表明我应该使用 Quartz 并使用 Quartz.Impl。请告诉我,我只是错过了一些简单的事情......
该文档针对 1.0 API。现在事情已经发生了变化,是的,它们正在发生重大变化。
查看此官方迁移页面。您可能会在那里找到一些解决方案。
我知道这不是正确的地方。我应该编辑原始维基百科等等等等。我试图在周五之前晚上完成 31 个小时的工作。所以就这样吧。
第 1 课
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
using Quartz.Impl;
namespace QuartzNetTest
{
class Program
{
static void Main(string[] args)
{
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
IJobDetail jobDetail = JobBuilder.Create<HelloJob>()
.WithIdentity("myJob")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger")
// fire every hour
.WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever())
// start on the next even hour
.StartAt(DateBuilder.FutureDate(1, IntervalUnit.Hour))
.Build();
sched.ScheduleJob(jobDetail, trigger);
}
}
class HelloJob : Quartz.IJob
{
public void Execute(IJobExecutionContext context)
{
Debug.WriteLine("Hello at " + DateTime.Now.ToString());
}
}
}
我很高兴地宣布 Quartz.NET 的网站已经 已成功迁移至 GitHub Pages。现在应该更容易 社区贡献修复和增强功能。
本教程(最终)更新为包含 2.x 更改:
http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/index.html
网站是用 Markdown 编写的,可以通过 GitHub 使用拉取请求进行更新: