Note that there are some explanatory texts on larger screens.

plurals
  1. POQuartz: skipping duplicate job fires scheduled with same fire time
    primarykey
    data
    text
    <p>I'm new to Quartz and stuck on duplicate job runs. They was caused by two triggers which has overlapping fire times.</p> <p>Is there any Quartz "out-of-the-box" functionality which will prevent duplicate fires of same job with multiple attached triggers?</p> <p>Or maybe there is some third-party <code>Trigger</code> implementation which allows to combine schedule's with proper fire time calculation which will prevent duplicate fire times?</p> <p>Or maybe i can somehow combine multiple schedules?</p> <p>Any solution will be greatly appreciated.</p> <p>Thanks</p> <p>For the clarity:</p> <pre><code>public static class MyJob implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("My Job at " + DateUtils.toDateTimeString(context.getFireTime()) + " by " + context.getTrigger().getKey().getName()); } } startScheduler() { final Set&lt;Trigger&gt; triggers = new HashSet&lt;Trigger&gt;(); triggers.add(TriggerBuilder.&lt;CronScheduleBuilder&gt;newTrigger().withIdentity("every 3 secs"). withSchedule(CronScheduleBuilder.cronSchedule("0/3 * * * * ? *")).build()); triggers.add(TriggerBuilder.&lt;CronScheduleBuilder&gt;newTrigger().withIdentity("every 2 secs"). withSchedule(CronScheduleBuilder.cronSchedule("0/2 * * * * ? *")).build()); final Scheduler scheduler = new StdSchedulerFactory(properties).getScheduler(); scheduler.scheduleJob(JobBuilder.newJob(MyJob.class).build(), triggers, false); scheduler.start(); } </code></pre> <p>And the logs:</p> <ul> <li>My Job at 01.11.2013T23:19:26.000 by every 2 secs</li> <li>My Job at 01.11.2013T23:19:27.000 by every 3 secs</li> <li>My Job at 01.11.2013T23:19:28.000 by every 2 secs</li> <li>My Job at <strong><em>01.11.2013T23:19:30.000</em></strong> by <em>every 2 secs</em></li> <li>My Job at <strong><em>01.11.2013T23:19:30.001</em></strong> by <em>every 3 secs</em></li> <li>My Job at 01.11.2013T23:19:32.000 by every 2 secs</li> <li>My Job at 01.11.2013T23:19:33.000 by every 3 secs</li> <li>My Job at 01.11.2013T23:19:34.000 by every 2 secs</li> <li>My Job at <strong><em>01.11.2013T23:19:36.000</em></strong> by <em>every 2 secs</em></li> <li>My Job at <strong><em>01.11.2013T23:19:36.001</em></strong> by <em>every 3 secs</em></li> <li>My Job at 01.11.2013T23:19:38.000 by every 2 secs</li> <li>My Job at 01.11.2013T23:19:39.000 by every 3 secs</li> <li>My Job at 01.11.2013T23:19:40.000 by every 2 secs</li> <li>My Job at <strong><em>01.11.2013T23:19:42.001</em></strong> by <em>every 2 secs</em></li> <li>My Job at <strong><em>01.11.2013T23:19:42.002</em></strong> by <em>every 3 secs</em></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload