com.google.appengine.api.taskqueue
Class RetryOptions

java.lang.Object
  extended by 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));

 
* @author nverne@google.com (Nicholas Verne)

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