Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-59678

Add a time delay capability to the retry basic step

    Details

    • Similar Issues:

      Description

      Devin Nusbaum suggested creating this ticket for an enhancement I am proposing to the retry basic step.

      The retry step is a great utility step, but adding the ability to add a time delay between retries would be great. It can be as basic as adding a fixed time delay as a property to the step or an extensible option that allows you to use different algorithms for the time delay (Fixed, incremental, exponential, random, random exponential.

      A pull request for the basic fixed implementation has already been created at https://github.com/jenkinsci/workflow-basic-steps-plugin/pull/97. This allows the user to do something like 

      retry(count: 3, useRetryDelay: true, delay: 40, units: "SECONDS").
      

      If the more advanced implementation is desired, it has also been implemented (and can be added to the pull request. @basil suggested modeling the extensible solution of other existing APIs that do something like this and proposed looking at Tenacity. The algorithms currently implemented are fixed, random, incremental, exponential, random Exponential. This would allow the user to do something like: 

      retry(count: 3, useRetryDelay: true, delay: incremental(increment: 2, max: 10, min: 1, unit: 'SECONDS'))
      

      All of this while still remaining backwards compatible and supporting something as simple as: 

      retry(3)
      

       

       

       

        Attachments

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              krotte1 Kyle Rotte
              Reporter:
              krotte1 Kyle Rotte
            • Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: