我们使用quartz调度器创建一个带有触发器名称和触发器组的触发器,它将在15分钟的间隔被触发。
我们希望在任何时间点手动触发时间表。因此,我们所做的就是获取与我们创建的计划相关联的作业的触发键细节,并尝试使用以下API触发作业。
scheduler.triggerJob(scheduler.getTrigger(TriggerKey.triggerKey(triggerName, triggerGroupName)).getJobKey());
用上面提到的API激发作业时(即尝试手动激发作业)的Quartz日志:
2014:01:07 19:57:34 IST,INFO ,Trigger DEFAULT.MT_2jf0j4717arfk fired job discover.4b7d574a-2827-4ec3-988e-07ef8009e962 at: 19:57:34 01/07/2014
2014:01:07 19:57:34 IST,INFO ,Job [discover.4b7d574a-2827-4ec3-988e-07ef8009e962] to be fired by trigger [DEFAULT.MT_2jf0j4717arfk], re-fire: 0
2014:01:07 19:57:34 IST,INFO ,WxSchedulerJob says: discover.4b7d574a-2827-4ec3-988e-07ef8009e962 executing at Tue Jan 07 19:57:34 IST 2014
2014:01:07 19:57:34 IST,INFO ,Job [discover.4b7d574a-2827-4ec3-988e-07ef8009e962] execution complete and reports: null
2014:01:07 19:57:34 IST,INFO ,Trigger DEFAULT.MT_2jf0j4717arfk completed firing job discover.4b7d574a-2827-4ec3-988e-07ef8009e962 at 19:57:34 01/07/2014
2014:01:07 19:27:41 IST,INFO ,Trigger discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a misfired job discover.19efb015-872d-4017-bbc8-52ae73b70d04 at: 19:27:41 01/07/2014. Should have fired at: 16:00:00 01/03/2014
2014:01:07 19:27:41 IST,INFO ,Trigger discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a fired job discover.19efb015-872d-4017-bbc8-52ae73b70d04 at: 19:27:41 01/07/2014
2014:01:07 19:27:41 IST,INFO ,Job [discover.19efb015-872d-4017-bbc8-52ae73b70d04] to be fired by trigger [discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a], re-fire: 0
2014:01:07 19:27:41 IST,INFO ,WxSchedulerJob says: discover.19efb015-872d-4017-bbc8-52ae73b70d04 executing at Tue Jan 07 19:27:41 IST 2014
2014:01:07 19:27:41 IST,INFO ,Job [discover.19efb015-872d-4017-bbc8-52ae73b70d04] execution complete and reports: null
2014:01:07 19:27:41 IST,INFO ,Trigger discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a completed firing job discover.19efb015-872d-4017-bbc8-52ae73b70d04 at 19:27:41 01/07/2014
能不能有人请让我知道我们如何才能使时间表是触发与原来的工作相关联的触发器。
我也在纠结同样的问题。当您试图手动触发此作业时,Quartz会创建一个默认触发器(trigger default.mt_2jf0j4717arfk
)。不幸的是,似乎没有办法手动触发预定触发器。
我想用quartz scheduler使用jdbc数据存储立即执行作业~。然而,即使我使用now()或调用triggerjob进行调度,在调度和触发器fire之间也有20-30秒的延迟。 我尝试用一个简单的触发器执行作业: 并且我还尝试用调度程序触发: 下面是显示延迟的侦听器日志。
我有一个Sprint Boot-Java8应用程序,它有一个quartz作业,我在启动时配置该作业并设置一个时间表。该作业按照计划自动运行,这与您对quartz作业的期望一样。然而,现在我希望能够允许用户通过点击前端上的一个按钮手动触发这些作业,而不会扰乱该作业的正常调度。这是我所有的相关档案。 但每次运行应用程序并点击控制器的方法时,都会在控制台中出现以下错误: 我到底做错了什么?如何使此作业按
问题内容: 有没有一种方法可以删除带有特定作业的预定触发器?似乎删除触发器的唯一方法是删除整个作业,然后重新注册该作业并触发。 我有一份可能有100多个触发器的作业,我真的不想删除该作业,而只需要删除1个触发器就重新注册所有触发器。 另外,是否有一种方法可以在配置触发器后立即停止调度程序执行作业? 谢谢 问题答案: 尝试 这接受触发器和组名作为参数,并且只会删除指定的触发器,而不是作业。 Quar
和日志: 我在01.11.2013T23:19:26.000的作业,每隔2秒 我在01.11.2013T23:19:27.000的作业,每3秒 我在01.11.2013T23:19:28.000的作业,每隔2秒 我的工作时间01.11.2013t23:19:0.000,每隔2秒 我在01.11.2013t23:19:30.001的作业,每3秒 我的作业在01.11.2013T23:19:32.00
我有两个节点具有相同的Quartz调度器。JobStore具有作业的唯一触发器,它每5秒执行一次,处理该作业需要一秒。
在使用Quartz Scheduler 1.8.6版的应用程序中,当作业未完成时,我们遇到了一个触发器卡住的问题。 例如,我们有ssh调用或数据库查询的作业。如果这些作业挂起(因为ssh调用没有终止,或者select语句有一个表锁),那么我将无法再触发这些作业。触发器被卡住,直到我强制重新启动调度程序。 我已经试过了。中断(触发器)和调度程序。重新调度触发器()。我试着移除触发器并重新创建它。我已