I have to execute job every day at midnight Pacific Time. I am using MVC3 with Quartz.NET library.
Here is my code:
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();
}
This code makes this job run only once at first midnight(in Pacific Time). I have set there .WithSimpleSchedule(x => x.WithIntervalInHours(24).RepeatForever())
but it is not working - job is not repeating every day.
What can I do to make it work every day?
Are your scheduled tasks hosted by web application? If so, you may experience such problems. Web applications are not suitable for running scheduled tasks. You should rather create windows service that hosts scheduled tasks.
But there are also some things you may check:
There are some articles that explain what are pros and cons of hosting scheduled tasks in web application, ie. this one: http://www.foliotek.com/devblog/running-a-scheduled-task/.
This question has been asked 7 years ago and there is already accepted reply. But i think throughout 7 years there has been a little bit changes so i would suggest this solution via CronScheduleBuilder.
//Constructing job trigger.
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("Test")
.WithSchedule(CronScheduleBuilder
.DailyAtHourAndMinute(16,40))
.WithSimpleSchedule(x=>x.WithIntervalInMinutes(number)
.WithRepeatCount(number)
.Build();
This code trigger job every day at particular time in this case 16:40. With interval number times and repeat count with number times
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With