gpt4 book ai didi

java - 中断后在 Quartz Scheduler 中启动单个作业

转载 作者:行者123 更新时间:2023-12-01 12:55:52 26 4
gpt4 key购买 nike

我想问一下,在我打断他之后是否可以开始一项工作。 (10 秒后)。

或者有人知道如何在 Quarz Scheduler 中重新启动单个作业吗?

中断代码:

  for(int i=0; i < 2; i++) {
try {
Thread.sleep(7000L);
// tell the scheduler to interrupt our job
sched.interrupt(job.getKey());
} catch (Exception e) {
}

感谢您的帮助问候

最佳答案

这应该是完全可能的。请注意,通过中断 Quartz 作业(通过调用 Interrupt(jobKey) 方法),您只是给作业一个提示,让其完成正在执行的任何操作并提前完成。如果作业忽略中断请求,那么它将继续执行。为了能够接收中断请求,作业必须使用调度程序调用的单个方法来实现 org.quartz.InterruptableJob 接口(interface)。在该方法中,您通常会设置某种中断标志(例如作业类中的 AtomicBoolean 字段),并且在执行方法中,您会在可以安全中断作业的阶段检查标志的值(例如,在独立的数据库事务之间等) .)

当你再次启 Action 业时,Quartz将分配并执行一个新的作业实例。您可能需要使用 @DisallowConcurrentExecution 注释您的作业,以防止出现以下情况:您中断作业并且在您尝试再次启 Action 业时作业尚未完成运行。该注释将防止同一作业的两个并发作业执行(即同一作业类的不同作业实例)。

关于java - 中断后在 Quartz Scheduler 中启动单个作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23906364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com