2012-01-11 12 views
11

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

+1

http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start. html –

risposta

0

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.

11

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

+1

Collegamento interrotto sfortunatamente. – Manachi

+2

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 –