Я ищу простой пример приложения Quartz.net for Console (это может быть любое другое приложение, если оно достаточно простое...). И пока я там, есть ли какая-либо обертка, которая могла бы помочь мне избежать реализации IJobDetail, ITrigger и т.д.
Простой, рабочий пример Quartz.net
Ответ 1
Есть парень, который сделал то же самое наблюдение, что и вы, и он опубликовал сообщение в блоге с простым рабочим примером приложения Quartz.net Console.
Ниже приведен рабочий пример Quartz.net, построенный на Quartz.net 2.0 (последний). То, что делает это задание, - это написать текстовое сообщение, "Hello Job исполняется" в консоли каждые 5 секунд.
Запустите проект Visual Studio 2012. Выберите Windows Console Application
. Назовите это Quartz1 или что вам нравится.
Требования Загрузите сборку Quartz.NET
с помощью NuGet
. Щелкните правой кнопкой мыши по проекту, выберите "Управление пакетами Nuget". Затем Quartz.NET
поиск 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");
}
}
}
источники
Ответ 2
между документацией и образцами в исходном коде должно быть достаточно, чтобы вы начали. единственным интерфейсом, который вы должны реализовать, является IJob
при создании пользовательских заданий. все другие интерфейсы либо уже реализованы для вас, либо они не требуются для базового использования в quartz.net.
для создания заданий и триггеров для использования вспомогательных объектов JobBuilder и TriggerBuilder.