I have a web application and I am trying to setup a trigger to start when the application has started and then trigger every 5 minutes
Everything is within Global.asax - seemed like the right place to put it:
public class Global : HttpApplication
{
public static StdSchedulerFactory SchedulerFactory;
public static IScheduler Scheduler;
public static ITrigger ImageTrigger;
protected void Application_Start(object sender, EventArgs e)
{
SchedulerFactory = new StdSchedulerFactory();
Scheduler = SchedulerFactory.GetScheduler();
Scheduler.Start();
ImageTrigger = TriggerBuilder.Create()
.WithIdentity("ImageTrigger", "Group1")
.StartNow()
.WithSimpleSchedule(x => x.RepeatForever().WithIntervalInMinutes(5))
.Build();
var imageJob = JobBuilder.Create<DownloadImages>()
.WithIdentity("DownloadImages" , "Group1")
.Build();
Scheduler.ScheduleJob(imageJob, ImageTrigger);
}
...
}
So I assumed having a simple schedule use .WithIntervalInMiniutes() with cause the job to be invoked or have it got it massively wrong?
P.s. I have also tried:
AlertTrigger = TriggerBuilder.Create()
.WithIdentity("AlertTrigger", "Group1")
.StartNow()
.WithCronSchedule("0 0/1 * * * ?")
.Build();
Followed by screaming at the computer!
Thanks in advance for your help.
Matt