Class: Google::Apis::CloudtasksV2::RetryConfig
- Inherits:
-
Object
- Object
- Google::Apis::CloudtasksV2::RetryConfig
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/cloudtasks_v2/classes.rb,
lib/google/apis/cloudtasks_v2/representations.rb,
lib/google/apis/cloudtasks_v2/representations.rb
Overview
Retry config. These settings determine when a failed task attempt is retried.
Instance Attribute Summary collapse
-
#max_attempts ⇒ Fixnum
Number of attempts per task, including the first attempt.
-
#max_backoff ⇒ String
A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.
-
#max_doublings ⇒ Fixnum
The time between retries will double
max_doublingstimes. -
#max_retry_duration ⇒ String
If positive,
max_retry_durationspecifies the time limit for retrying a failed task, measured from when the task was first attempted. -
#min_backoff ⇒ String
A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.
Instance Method Summary collapse
-
#initialize(**args) ⇒ RetryConfig
constructor
A new instance of RetryConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ RetryConfig
Returns a new instance of RetryConfig.
1447 1448 1449 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1447 def initialize(**args) update!(**args) end |
Instance Attribute Details
#max_attempts ⇒ Fixnum
Number of attempts per task, including the first attempt. (If the first
attempt fails, there will be max_attempts - 1 retries.) Must be greater than
or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying
only when max_attempts and max_retry_duration are both satisfied, or when
the task is successfully executed. When the task has been attempted
max_attempts times and when the max_retry_duration time has passed, no
further attempts are made, and the task is deleted. If max_attempts is set
to -1 and max_retry_duration is set to 0, the task is retried until the
maximum task retention
limit is reached. If unspecified when the queue is created, Cloud Tasks will
pick the default. This field has the same meaning as task_retry_limit in
queue.yaml/xml.
Corresponds to the JSON property maxAttempts
1383 1384 1385 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1383 def max_attempts @max_attempts end |
#max_backoff ⇒ String
A task will be scheduled for retry between min_backoff and max_backoff
duration after it fails, if the queue's RetryConfig specifies that the task
should be retried. The value must be given as a string that indicates the
length of time (in seconds) followed by s (for "seconds"). For more
information on the format, see the documentation for Duration. max_backoff will
be truncated to the nearest second. If unspecified when the queue is created,
Cloud Tasks will pick the default. This field has the same meaning as
max_backoff_seconds in queue.yaml/xml.
Corresponds to the JSON property maxBackoff
1397 1398 1399 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1397 def max_backoff @max_backoff end |
#max_doublings ⇒ Fixnum
The time between retries will double max_doublings times. A task's retry
interval starts at min_backoff, then doubles max_doublings times, then
increases linearly, and finally retries at intervals of max_backoff up to
max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s,
and max_doublings is 3, then the a task will first be retried in 10s. The
retry interval will double three times, and then increase linearly by 2^3 *
10s. Finally, the task will retry at intervals of max_backoff until the task
has been attempted max_attempts times. Thus, the requests will retry at 10s,
20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is
created, Cloud Tasks will pick the default. This field has the same meaning as
max_doublings in queue.yaml/xml.
Corresponds to the JSON property maxDoublings
1413 1414 1415 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1413 def max_doublings @max_doublings end |
#max_retry_duration ⇒ String
If positive, max_retry_duration specifies the time limit for retrying a
failed task, measured from when the task was first attempted. Once
max_retry_duration time has passed and the task has been attempted
max_attempts times, no further attempts are made and the task is deleted. A
zero (0) indicates an unlimited duration, up to the maximum task retention limit. The value must
be given as a string that indicates the length of time (in seconds) followed
by s (for "seconds"). For the maximum possible value or the format, see the
documentation for Duration. max_retry_duration will be truncated to the nearest
second. If unspecified when the queue is created, Cloud Tasks will pick the
default. This field has the same meaning as task_age_limit in queue.yaml/xml.
Corresponds to the JSON property maxRetryDuration
1431 1432 1433 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1431 def max_retry_duration @max_retry_duration end |
#min_backoff ⇒ String
A task will be scheduled for retry between min_backoff and max_backoff
duration after it fails, if the queue's RetryConfig specifies that the task
should be retried. The value must be given as a string that indicates the
length of time (in seconds) followed by s (for "seconds"). For more
information on the format, see the documentation for Duration. min_backoff will
be truncated to the nearest second. If unspecified when the queue is created,
Cloud Tasks will pick the default. This field has the same meaning as
min_backoff_seconds in queue.yaml/xml.
Corresponds to the JSON property minBackoff
1445 1446 1447 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1445 def min_backoff @min_backoff end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1452 1453 1454 1455 1456 1457 1458 |
# File 'lib/google/apis/cloudtasks_v2/classes.rb', line 1452 def update!(**args) @max_attempts = args[:max_attempts] if args.key?(:max_attempts) @max_backoff = args[:max_backoff] if args.key?(:max_backoff) @max_doublings = args[:max_doublings] if args.key?(:max_doublings) @max_retry_duration = args[:max_retry_duration] if args.key?(:max_retry_duration) @min_backoff = args[:min_backoff] if args.key?(:min_backoff) end |