Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-8088

I can define an incremental retry interval

    • Icon: Feature Request Feature Request
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.8.0, 7.8.0-alpha4
    • None
    • engine

      In case of retrying a failing the engine behaves currently as follows:

      1) Default Behavior:
      Whenever a job fails, the job executor decreases the retries and unlocks the job. Afterwards the failed job can be acquired and executed again by the job executor right away (if retries > 0). As a consequence, it could happen that in between the moment of failing and retrying the job there were just a small interval.

      2) Retry Time Cycle:
      With the property retry time cycle (e.g. R5/PT5M) it is possible to define the number of retries and an interval when the failed job should be retried. But in that case the interval is always (at least) 5 minutes.

      There should be some configuration options to configure a incremental retry interval of failed jobs.

      AT:

      • the incremental interval can be configured globally at process engine configuration level
      • the incremental interval can be configured locally at activity level

        This is the controller panel for Smart Panels app

            [CAM-8088] I can define an incremental retry interval

            Roman Smirnov created issue -
            Roman Smirnov made changes -
            Rank New: Ranked higher
            Roman Smirnov made changes -
            Rank New: Ranked lower
            Roman Smirnov made changes -
            Description New: In case of retrying a failing the engine behaves currently as follows:

            1) Default Behavior:
            Whenever a job fails, the job executor decreases the retries and unlocks the job. Afterwards the failed job can be acquired and executed again by the job executor right away (if retries > 0). As a consequence, it could happen that in between the moment of failing and retrying the job there were just a small interval.

            2) Retry Time Cycle:
            With the property retry time cycle (e.g. R5/PT5M) it is possible to define the number of retries and an interval when the failed job should be retried. But in that case the interval is always (at least) 5 minutes.

            There should be some configuration options to configure a incremental retry interval of failed jobs.

            AT:
            - on process engine configuration level there exits a property "incrementalIntervals" to define the interval
            - it should be possible to define such incremental intervals also locally for a specific job declaration (this could for example look like this in the xml {{<serviceTask ... camunda:asyncBefore="true" camunda:incrementalIntervals="PT5M, PT10M, PT15"/>
            - this behaves then for example like this:
            -- the property incrementalIntervals could be [ PT5M, PT10M, PT15M ]
            -- job fails first time -> the job will be retried in 5 minutes (PT5M is applied)
            -- job fails second time -> the job will be retried in 10 minutes (PT10M is applied)
            -- etc.
            -- if the current retry is greater than the {{incrementalIntervals.length}}, then the always the last value of incrementalIntervals is applied
            -- the most specific configuration should be applied, that means, when locally a incremental interval is given, then that one is used in case of a failing job to determine the interval to wait
            Yana Vasileva made changes -
            Status Original: Open [ 1 ] New: In Progress [ 3 ]
            Yana Vasileva made changes -
            Assignee Original: Yana Vasileva [ yana.vasileva ] New: Tassilo Weidner [ tassilo.weidner ]
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
            Remaining Estimate New: 0 minutes [ 0 ]
            Original Estimate New: 0 minutes [ 0 ]
            Tassilo Weidner made changes -
            Assignee Original: Tassilo Weidner [ tassilo.weidner ] New: Yana Vasileva [ yana.vasileva ]
            Resolution Original: Fixed [ 1 ]
            Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
            Thorben Lindhauer made changes -
            Link New: This issue is depended on by SUPPORT-3579 [ SUPPORT-3579 ]
            Thorben Lindhauer made changes -
            Labels New: SUPPORT
            Yana Vasileva made changes -
            Status Original: Reopened [ 4 ] New: In Progress [ 3 ]
            Roman Smirnov made changes -
            Description Original: In case of retrying a failing the engine behaves currently as follows:

            1) Default Behavior:
            Whenever a job fails, the job executor decreases the retries and unlocks the job. Afterwards the failed job can be acquired and executed again by the job executor right away (if retries > 0). As a consequence, it could happen that in between the moment of failing and retrying the job there were just a small interval.

            2) Retry Time Cycle:
            With the property retry time cycle (e.g. R5/PT5M) it is possible to define the number of retries and an interval when the failed job should be retried. But in that case the interval is always (at least) 5 minutes.

            There should be some configuration options to configure a incremental retry interval of failed jobs.

            AT:
            - on process engine configuration level there exits a property "incrementalIntervals" to define the interval
            - it should be possible to define such incremental intervals also locally for a specific job declaration (this could for example look like this in the xml {{<serviceTask ... camunda:asyncBefore="true" camunda:incrementalIntervals="PT5M, PT10M, PT15"/>
            - this behaves then for example like this:
            -- the property incrementalIntervals could be [ PT5M, PT10M, PT15M ]
            -- job fails first time -> the job will be retried in 5 minutes (PT5M is applied)
            -- job fails second time -> the job will be retried in 10 minutes (PT10M is applied)
            -- etc.
            -- if the current retry is greater than the {{incrementalIntervals.length}}, then the always the last value of incrementalIntervals is applied
            -- the most specific configuration should be applied, that means, when locally a incremental interval is given, then that one is used in case of a failing job to determine the interval to wait
            New: In case of retrying a failing the engine behaves currently as follows:

            1) Default Behavior:
            Whenever a job fails, the job executor decreases the retries and unlocks the job. Afterwards the failed job can be acquired and executed again by the job executor right away (if retries > 0). As a consequence, it could happen that in between the moment of failing and retrying the job there were just a small interval.

            2) Retry Time Cycle:
            With the property retry time cycle (e.g. R5/PT5M) it is possible to define the number of retries and an interval when the failed job should be retried. But in that case the interval is always (at least) 5 minutes.

            There should be some configuration options to configure a incremental retry interval of failed jobs.

            AT:
            - the incremental interval can be configured globally at process engine configuration level
            - the incremental interval can be configured locally at activity level

              Unassigned Unassigned
              roman.smirnov Roman Smirnov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: