# RetryOptions
Date: 2012-02-24

## com.google.appengine.api.taskqueue
Class RetryOptions

    java.lang.Object
      com.google.appengine.api.taskqueue.RetryOptions

All Implemented Interfaces:
  java.io.Serializable

    public final class RetryOptions

extends java.lang.Object
implements java.io.Serializable

Contains various options for a task's retry strategy. Calls to `RetryOptions` methods may be chained to specify multiple options in the one `RetryOptions` object.

Notes on usage:
The recommended way to instantiate a `RetryOptions` object is to statically import `RetryOptions.Builder`.* and invoke a static creation method followed by an instance mutator (if needed):

     import static com.google.appengine.api.taskqueue.RetryOptions.Builder.*;

     ...
     RetryOptions retry = withTaskRetryLimit(10).taskAgeLimitSeconds("4d")
         .minBackoffSeconds(120).maxBackoffSeconds(3600).maxDoublings(5);
     QueueFactory.getDefaultQueue().add(retryOptions(retry));

See Also:
  Serialized Form

Nested Class Summary
`static class` `RetryOptions.Builder` Provides static creation methods for `RetryOptions`.

Constructor Summary
`RetryOptions(RetryOptions options)`

Method Summary
`boolean` `equals(java.lang.Object obj)`
`int` `hashCode()`
`RetryOptions` `maxBackoffSeconds(double maxBackoffSeconds)` Sets the maximum retry backoff interval, in seconds.
`RetryOptions` `maxDoublings(int maxDoublings)` Sets the maximum times the retry backoff interval should double before rising linearly to the maximum.
`RetryOptions` `minBackoffSeconds(double minBackoffSeconds)` Sets the minimum retry backoff interval, in seconds.
`RetryOptions` `taskAgeLimitSeconds(long taskAgeLimitSeconds)` Sets the maximum age from the first attempt to execute a task after which any new task failure can be permanent.
`RetryOptions` `taskRetryLimit(int taskRetryLimit)` Sets the number of retries allowed before a task can fail permanently.
`java.lang.String` `toString()`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### RetryOptions

    public RetryOptions(RetryOptions options)

Method Detail

### taskRetryLimit

    public RetryOptions taskRetryLimit(int taskRetryLimit)

  Sets the number of retries allowed before a task can fail permanently. If both taskRetryLimit and taskAgeLimitSeconds are specified, then both limits must be exceeded before a task can fail permanently.

### taskAgeLimitSeconds

    public RetryOptions taskAgeLimitSeconds(long taskAgeLimitSeconds)

  Sets the maximum age from the first attempt to execute a task after which any new task failure can be permanent. If both taskRetryLimit and taskAgeLimitSeconds are specified, then both limits must be exceeded before a task can fail permanently.

  Parameters:
    `taskAgeLimitSeconds` - The age limit in seconds. Must not be negative.
  Returns:
    the RetryOptions object for chaining.

### minBackoffSeconds

    public RetryOptions minBackoffSeconds(double minBackoffSeconds)

  Sets the minimum retry backoff interval, in seconds.

  Parameters:
    `minBackoffSeconds` - Seconds value for the minimum backoff interval.
  Returns:
    the RetryOptions object for chaining.

### maxBackoffSeconds

    public RetryOptions maxBackoffSeconds(double maxBackoffSeconds)

  Sets the maximum retry backoff interval, in seconds.

  Parameters:
    `maxBackoffSeconds` - Seconds value for the maximum backoff interval.
  Returns:
    the RetryOptions object for chaining.

### maxDoublings

    public RetryOptions maxDoublings(int maxDoublings)

  Sets the maximum times the retry backoff interval should double before rising linearly to the maximum.

  Parameters:
    `maxDoublings` - The number of allowed doublings. Must not be negative.
  Returns:
    the RetryOptions object for chaining.

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`