Tengo que ejecutar el trabajo todos los días a la medianoche, hora del Pacífico. Estoy usando MVC3 con la biblioteca Quartz.NET.¿Cómo comenzar un trabajo todos los días a la misma hora en Quartz.net?
Aquí está mi código:
public static void ConfigureQuartzJobs()
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
DateTime dateInDestinationTimeZone = System.TimeZoneInfo
.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, System.TimeZoneInfo.Utc.Id, "Pacific Standard Time").Date;
IJobDetail job = JobBuilder.Create<TimeJob>()
.WithIdentity("job1", "group1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartAt(dateInDestinationTimeZone)
.WithSimpleSchedule(x => x.WithIntervalInHours(24).RepeatForever())
.Build();
sched.ScheduleJob(job, trigger);
sched.Start();
}
Este código hace que este trabajo se ejecute sólo una vez en un primer momento la medianoche (en hora del Pacífico). He establecido .WithSimpleSchedule(x => x.WithIntervalInHours(24).RepeatForever())
pero no está funcionando; el trabajo no se repite todos los días.
¿Qué puedo hacer para que funcione todos los días?
Cualquier ayuda muy apreciada!
Utilicé CronTrigger - no está funcionando a la perfección. No funciona exactamente cuando debería, pero lo suficientemente cerca. – Marta
CronTrigger parece útil –
En mi caso, reducir el intervalo de tiempo de 30 minutos a 5 minutos hace que el trabajo funcione correctamente. – dsm