Quartz.net的简单工作示例

时间:2012-01-11 15:07:06

标签: c# .net quartz.net

我正在寻找Quartz.net for Console应用程序的一个简单示例 (它可以是任何其他应用程序,只要它足够简单......)。 虽然我在那里,是否有任何包装可以帮助我避免实施 IJobDetail,ITrigger等。

2 个答案:

答案 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辅助对象。