我有简单的控制台应用程序,可以定期在后台执行作业,并等待用户按键。
我使用Quartz库作为调度程序,并且具有以下代码:
schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.GetScheduler();
scheduler.Start();
myTrigger = TriggerUtils.MakeDailyTrigger(..., ...);
myJob = new JobDetail(..., null, typeof(MyJobClass));
scheduler.ScheduleJob(myJob, myTrigger);
Console.WriteLine("Press 'Q' to exit");
while (Console.ReadKey() != new ConsoleKeyInfo('q', ConsoleKey.Q, false, false, false))
{
}
这样可以正常但是在几个条件下我将触发器配置为执行一次。
我怎么知道我的触发式作业执行一次并且纯粹的Quartz API没有任何工作可以解雇?我可以使用信号量和低级多线程的东西,但我想应该有纯粹的Quartz方法。
提前谢谢!
答案 0 :(得分:0)
您可以配置TriggerListner
或
在触发器上使用API方法getPreviousFireTime()/ getNextFireTime()/ mayFireAgain()