当学完第二课之后,你欣喜的发现,让jobs工作起来是还是相当简单的。虽然让jobs运行起来很简单,对于其执行的关键内容还是需要知道的。它们是IJob接口中的Execute和JobDetails。
当你定义一个实现IJob接口的类的时候,你需要在里面实现实际需要执行的代码。Quartz.NET需要知道关于这代码的各种信息,这样 Quartz.NET才能像你期望的那样工作。这些细节是在JobDetail类中进行了描述,在上一节以及进行了简单的描述。
JobDetail由JobBuilder进行实例化的。JobBuilder容许开发人员使用 fluent interface.进行自定义JobDetail细节。
让我们花点时间看Job的机制以及在Quartz.NET中的生命周期。在第一节中已经看到的例子让我们再看一遍:
1 // define the job and tie it to our HelloJob class 2 IJobDetail job = JobBuilder.Create<HelloJob>() 3 .WithIdentity("myJob", "group1") 4 .Build(); 5 6 // Trigger the job to run now, and then every 40 seconds 7 ITrigger trigger = TriggerBuilder.Create() 8 .WithIdentity("myTrigger", "group1") 9 .StartNow() 10 .WithSimpleSchedule(x => x 11 .WithIntervalInSeconds(40) 12 .RepeatForever()) 13 .Build(); 14 15 sched.ScheduleJob(job, trigger);