29 votos

Quartz.NET implementación ' t jive con tutoriales

He intentado poner en práctica una forma muy sencilla Quartz.net implementación del uso de este tutorial

using Quartz;
using Quartz.Impl;

// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();

// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();

// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(HelloJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);  
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);

El problema que me estoy quedando en es (por ejemplo) MakeHourlyTrigger no está disponible en el Intellisense, y me da el error

El cuarzo.TriggerUtils no contiene una definición para 'MakeHourlyTrigger'.

Obtengo errores en tipos tales como JobDetail:

"El tipo o el nombre de espacio de nombres 'JobDetail' no se pudo encontrar (¿falta una directiva using o una referencia de ensamblado?)"

Tal vez estoy cansado y falta algo estúpido y fácil... espero que ese sea el caso. Todos los ejemplos que he visto en la web del congreso de decir que yo debería ser el uso de Cuarzo y el uso de Cuarzo.Impl. Por favor, dime que me estoy perdiendo algo fácil...

33voto

Pure.Krome Puntos 28473

La documentación se dirige a la 1.0 API. Shiz ha cambiado ahora :( Y sí, arte quebranta.

Así que... para ayudar a... Compruebe esta página oficial de migración hacia fuera. U puede encontrar amor en allí.

11voto

Colin Puntos 733

Sé que este no es el lugar adecuado. ¿Debo editar el Wiki original bla bla bla. Estoy tratando de hacer 31 horas de trabajo, en mis noches, del viernes. Así que aquí va.

Lección 1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
using Quartz.Impl;

namespace QuartzNetTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // construct a scheduler factory
            ISchedulerFactory schedFact = new StdSchedulerFactory();

            // get a scheduler
            IScheduler sched = schedFact.GetScheduler();
            sched.Start();

            // construct job info
            IJobDetail jobDetail = JobBuilder.Create<HelloJob>()
                .WithIdentity("myJob")
                .Build();
            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("myTrigger")
                // fire every hour
                .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever())
                // start on the next even hour
                .StartAt(DateBuilder.FutureDate(1, IntervalUnit.Hour))
                .Build();

            sched.ScheduleJob(jobDetail, trigger);
        }
    }

    class HelloJob : Quartz.IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Debug.WriteLine("Hello at " + DateTime.Now.ToString());
        }
    }

}

3voto

Marko Lahma Puntos 3372

Me complace anunciar que Quartz.NET's sitio web ha sido migraron a GitHub Pages. Ahora debería ser más fácil para la comunidad contribuir correcciones y mejoras.

El tutorial es (por fin) actualizado para incluir 2.x cambios:

http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/index.html

El sitio está escrito en Markdown y puede ser actualizado con tirar de las solicitudes a través de GitHub:

https://github.com/quartznet/quartznet/tree/gh-pages

1voto

Saami Solutions Puntos 75

Probar este enlace, que está todavía en progreso pero útil.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X