quartz net job ijobexecutioncontext ijob examples context c# types quartz.net

c# - net - task execute ijobexecutioncontext context



La implementación de Quartz.NET no concuerda con los tutoriales. (3)

La documentación está dirigida a la API 1.0. Shiz ahora ha cambiado :( Y sí, ellos están en paz.

Así que ... para ayudar ... mira esta página oficial de migración . U podría encontrar un poco de amor allí.

Intenté implementar una implementación muy simple de Quartz.net usando 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 estoy encontrando es (por ejemplo) MakeHourlyTrigger no está disponible en el Intellisense, y me da el error

Quartz.TriggerUtils no contiene una definición para ''MakeHourly Trigger''.

Recibo errores en tipos como JobDetail :

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

Tal vez esté cansado y me esté perdiendo algo estúpido y fácil ... Espero que ese sea el caso. Todos los ejemplos que he visto en Internet indican que debería usar Quartz y usar Quartz.Impl. Por favor, dime que me estoy perdiendo algo fácil ...



Sé que este no es el lugar correcto. Debería editar el Wiki original bla bla bla. Estoy tratando de hacer 31 horas de trabajo, en mis tardes, para el 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()); } } }