You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Ben O'Day (JIRA)" <ji...@apache.org> on 2010/08/23 07:10:47 UTC

[jira] Updated: (CAMEL-3009) Add option to quartz consumer to ignore jobs being triggered due restarting

     [ https://issues.apache.org/activemq/browse/CAMEL-3009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ben O'Day updated CAMEL-3009:
-----------------------------

    Attachment: camel-quartz-skip-missed-jobs-patch.txt

I've been looking into this a bit.  I thought I could simply use Quartz's misfire modes (via "trigger.misfireInstruction" parameter) to get the desired behavior, but I couldn't get it to work for this case (I'll log this separately).

So, here is a first pass at adding support for this.  I added a parameter to the Quartz endpoint definition called "skipMissedJobs".  When set to "true", the endpoint is configured to only execute the last missed run of a job (prior runs are skipped entirely)...  

Some more investigation/advanced tests are necessary.  I've attached a preliminary patch for comments before taking it any further...

> Add option to quartz consumer to ignore jobs being triggered due restarting
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-3009
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3009
>             Project: Apache Camel
>          Issue Type: New Feature
>          Components: camel-quartz
>    Affects Versions: 2.4.0
>            Reporter: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.5.0
>
>         Attachments: camel-quartz-skip-missed-jobs-patch.txt
>
>
> Quartz scheduler may by default try to catch up if a quartz consumer has been stopped for a while.
> Then when its started it may trigger a series of jobs due they were supposed to be triggered if the consumer has been always running.
> We should make it easy to configure an option to tell Camel to ignore those jobs.
> For example if you have a trigger to run every 5th second. And you pause a consumer for 2 hours. You may not want quartz to fire 12 * 60 * 2 jobs when its started to catch up for those 2 hours.
> Quartz itself may have an option you can configure on the job but it may not be obviously how to do this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.