2012-01-11 23 views
11

Estoy buscando un ejemplo simple de trabajo de Quartz.net para la aplicación de consola (puede ser cualquier otra aplicación, siempre y cuando sea lo suficientemente simple ...). Y mientras estoy allí, ¿hay algún envoltorio que podría ayudar a evitar la aplicación de IJobDetail, ITrigger, etc.Simple, ejemplo de trabajo de Quartz.net

+1

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

Respuesta

0

entre la documentación y muestras en el código fuente no debería ser suficiente para empezar. la única interfaz que debe implementar es IJob al crear trabajos personalizados. todas las otras interfaces ya están implementadas para usted, o no son necesarias para el uso básico en quartz.net.

para generar trabajos y desencadenantes para utilizar los objetos auxiliares JobBuilder y TriggerBuilder.

11

Hay un tipo que hizo exactamente la misma observación que usted, y ha publicado una publicación de blog con un ejemplo de trabajo simple de una aplicación de consola Quartz.net.

El siguiente es un ejemplo de trabajo de Quartz.net que está construido contra Quartz.net 2.0 (más reciente). Lo que hace este trabajo es escribir un mensaje de texto, "Hola trabajo se ejecuta" en la consola cada 5 segundos.

Inicie un proyecto de Visual Studio 2012. Seleccione Windows Console Application. Llámalo Quartz1 o lo que quieras.

Requisitos Descarga Quartz.NET conjunto usando NuGet. Haga clic derecho en el proyecto, seleccione "Administrar paquetes Nuget". Luego busque Quartz.NET. Una vez encontrado, selecciona e instala.

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"); 
     } 
    } 
} 

Fuentes

+1

Enlace roto, lamentablemente. – Manachi

+2

¡Estamos de enhorabuena, estaba en archive.org! https://web.archive.org/web/20150707071411/http://hammadk.com/quartz-networking-example Póngalo en pastie sólo para estar seguro: http://pastie.org/10681194 –

Cuestiones relacionadas