我正在寻找Quartz.net for Console应用程序的一个简单示例 (它可以是任何其他应用程序,只要它足够简单......)。 虽然我在那里,是否有任何包装可以帮助我避免实施 IJobDetail,ITrigger等。
答案 0 :(得分:18)
有一个人和你做了完全相同的观察,他发表了一篇博文,上面有一个Quartz.net控制台应用程序的简单工作示例。
以下是针对Quartz.net 2.0(最新版)构建的Quartz.net示例。这项工作的作用是每隔5秒在控制台中写一条文本消息“Hello Job is execution”。
启动Visual Studio 2012项目。选择Windows Console Application
。将其命名为 Quartz1 或您喜欢的任何内容。
<强>要求强>
使用Quartz.NET
下载NuGet
程序集。右键单击项目,选择“Manage Nuget Packages”。然后搜索Quartz.NET
。一旦找到选择并安装。
using System;
using System.Collections.Generic;
using Quartz;
using Quartz.Impl;
namespace Quartz1
{
class Program
{
static void Main(string[] args)
{
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler, start the schedular before triggers or anything else
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// create job
IJobDetail job = JobBuilder.Create<SimpleJob>()
.WithIdentity("job1", "group1")
.Build();
// create trigger
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever())
.Build();
// Schedule the job using the job and trigger
sched.ScheduleJob(job, trigger);
}
}
/// <summary>
/// SimpleJOb is just a class that implements IJOB interface. It implements just one method, Execute method
/// </summary>
public class SimpleJob : IJob
{
void IJob.Execute(IJobExecutionContext context)
{
//throw new NotImplementedException();
Console.WriteLine("Hello, JOb executed");
}
}
}
<强>来源强>
答案 1 :(得分:0)
应该足以让您入门。创建自定义作业时,您必须实现的唯一界面是IJob
。所有其他接口都已经为您实现,或者在quartz.net中不是基本用法所必需的。
构建作业和触发器以使用JobBuilder和TriggerBuilder辅助对象。