当前位置: 首页 > 知识库问答 >
问题:

用石英立即解雇工作克朗

宰父远
2023-03-14

这是我用来立即激发job的代码:

public class ExecuteJob {

   public static void now(String TriggerKey) throws SchedulerException {

       scheduler = StdSchedulerFactory.getDefaultScheduler();

        // retrieve the trigger
        Trigger oldTrigger = scheduler.getTrigger(triggerKey(TriggerKey, GROUP_JOB));

        scheduler.triggerJob(oldTrigger.getJobKey());
    }
}

共有1个答案

王兴腾
2023-03-14

正如注释中所提到的,您需要确保调度程序已经启动,即使是在立即开始作业的情况下也是如此。

您可以使用isstarted()方法与'is instandbymode()'和'is shutdown()'方法结合使用来检查这一点。
注意,isstarted“只反映是否在此调度程序上调用过start(),因此即使调度程序当前处于备用模式或关闭后一直处于备用模式,它也会返回true”。

要启动计划程序,请使用start()方法:

public static void now(String TriggerKey) throws SchedulerException {

   scheduler = StdSchedulerFactory.getDefaultScheduler();

    // retrieve the trigger
    Trigger oldTrigger = scheduler.getTrigger(triggerKey(TriggerKey, GROUP_JOB));

    // start the scheduler
    if (!scheduler.isStarted() || scheduler.isInStandbyMode() || scheduler.isShutdown())
        scheduler.start() 

    scheduler.triggerJob(oldTrigger.getJobKey());
}
 类似资料:
  • 问题内容: 是否可以建立可立即触发的工作?当我现在希望将工作触发时,我用当前日期和时间构建了一个cron表达式字符串- 我认为它太复杂了,是否有另一种方法可以立即触发该工作? 提前致谢。 问题答案: Quartz Scheduler中注册的所有作业均由JobKey唯一标识,该JobKey由名称和组组成。您可以触发具有给定的工作 JobKey 通过调用立即triggerJob(JobKey jobK

  • 我想用quartz scheduler使用jdbc数据存储立即执行作业~。然而,即使我使用now()或调用triggerjob进行调度,在调度和触发器fire之间也有20-30秒的延迟。 我尝试用一个简单的触发器执行作业: 并且我还尝试用调度程序触发: 下面是显示延迟的侦听器日志。

  • 另外,如果我使用下面的语句而不是自动调用Spring Quartz调度器,那么作业将成功激发 请让我知道我做错了什么...

  • 我很难让Grails中的Quartz工作按预期同时运行。这就是我的工作。我已经注释掉了使用Executor插件的代码行,但是当我没有注释掉它们时,我的代码会按预期工作。 就我而言,myService2。doOtherStuff()需要很长时间才能完成,这与下一次触发此作业的时间重叠。我不介意它们是否重叠,这就是我明确添加def concurrent=true的原因,但它不起作用。 我有Quartz

  • 问题内容: 我有一个非常轻量级的作业,应在触发后立即执行,而不是等待一个小时才能完成当前作业。 据我了解,一项 轻量级 任务就是我想要的。它将为该任务创建一个临时执行程序。 我怎样才能使工作成为举重运动员? 问题答案: 试试这个FlyWeightProject插件。它是在Flyweight中运行的Freestyle类型的扩展。