Sto cercando un semplice esempio di funzionamento di Quartz.net per l'applicazione console (può essere qualsiasi altra applicazione purché sia abbastanza semplice ...). E mentre io sono lì, c'è qualche wrapper che potrebbe aiutare a evitare attuazione IJobDetail, ITrigger, eccEsempio semplice e funzionante di Quartz.net
risposta
tra la documentazione e gli esempi nel codice sorgente ci dovrebbe essere sufficiente per iniziare. l'unica interfaccia che è necessario implementare è IJob
durante la creazione di lavori personalizzati. tutte le altre interfacce sono già state implementate o non sono richieste per l'utilizzo di base in quartz.net.
per creare lavori e trigger per utilizzare gli oggetti helper di JobBuilder e TriggerBuilder.
C'è un ragazzo che ha fatto esattamente la stessa osservazione di te, e ha pubblicato un post sul blog con un semplice esempio funzionante di un'applicazione Quartz.net Console.
Quanto segue è un esempio di Quartz.net funzionante costruito su Quartz.net 2.0 (Latest). Quello che fa questo lavoro è scrivere un messaggio di testo, "Ciao lavoro viene eseguito" nella console ogni 5 secondi.
Avviare un progetto di Visual Studio 2012. Selezionare Windows Console Application
. Chiamalo Quartz1 o qualsiasi cosa ti piaccia.
Requisiti Scarica Quartz.NET
assembly utilizzando NuGet
. Fare clic con il tasto destro del mouse sul progetto, selezionare "Gestisci pacchetti Nuget". Quindi cercare Quartz.NET
. Una volta trovato seleziona e installa.
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");
}
}
}
Fonti
Collegamento interrotto sfortunatamente. – Manachi
Siamo fortunati, è stato su archive.org! https://web.archive.org/web/20150707071411/http://hammadk.com/quartz-net-working-example Mettilo su pastie solo per essere sicuro: http://pastie.org/10681194 –
http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start. html –