您好我是Quartz Scheduler的新手,我是第一次实施它。我想知道调度程序的启动调用是否会执行暂停的作业?或暂停作业只能通过单独的简历调用激活而不会激活。请帮帮我。
答案 0 :(得分:4)
首先,您可以暂停触发器或调度程序,而不是作业。不要混淆,例如IScheduler接口有不同的暂停方法,其中一个例如是PauseJobs(),它们都会影响触发器:
IScheduler.PauseAll :暂停所有触发器 - 类似于在每个组上调用PauseTriggers(GroupMatcher),但是,在使用此方法后,必须调用ResumeAll()以清除调度程序的“记忆”状态所有新触发器在添加时都会暂停。
IScheduler.PauseTriggers :暂停匹配组中的所有ITriggers。
IScheduler.PauseJobs :暂停匹配组中的所有IJobDetails - 暂停所有ITriggers。
IScheduler.PauseJob :使用给定的键暂停IJobDetail - 暂停所有当前的ITriggers。
Pause
和StandBy
方法之间的差异可能有助于您了解将要开始的内容和时间:
Pause
方法用于暂停仅添加到调度程序的所有现有触发器。这仅影响现有触发器,并且调度程序仍在运行!添加的任何新作业/触发器仍将运行,并且不会暂停!您必须致电Resume
取消标记这些暂停的触发器,以使其再次运行。
Standby
用于将整个调度程序置于“不工作”模式,这意味着不会触发或运行任何作业或触发器,包括已调度的或添加的新作业或触发器。直到您再次致电Start
。