Class: Google::Apis::CloudtasksV2beta2::RetryConfig

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/cloudtasks_v2beta2/classes.rb,
generated/google/apis/cloudtasks_v2beta2/representations.rb,
generated/google/apis/cloudtasks_v2beta2/representations.rb

Overview

Retry config. These settings determine how a failed task attempt is retried.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ RetryConfig

Returns a new instance of RetryConfig



1352
1353
1354
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1352

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#max_attemptsFixnum

The maximum number of attempts for a task. Cloud Tasks will attempt the task max_attempts times (that is, if the first attempt fails, then there will be max_attempts - 1 retries). Must be > 0. Corresponds to the JSON property maxAttempts

Returns:

  • (Fixnum)


1274
1275
1276
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1274

def max_attempts
  @max_attempts
end

#max_backoffString

The maximum amount of time to wait before retrying a task after it fails. The default is 1 hour.

Returns:

  • (String)


1288
1289
1290
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1288

def max_backoff
  @max_backoff
end

#max_doublingsFixnum

The time between retries will double max_doublings times. A task's retry interval starts at RetryConfig.min_backoff, then doubles max_doublings times, then increases linearly, and finally retries retries at intervals of RetryConfig.max_backoff up to max_attempts times. For example, if RetryConfig.min_backoff is 10s, RetryConfig.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 RetryConfig.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, ....

Returns:

  • (Fixnum)


1312
1313
1314
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1312

def max_doublings
  @max_doublings
end

#max_retry_durationString

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 RetryConfig.max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited.

  • For App Engine queues, this field is 0 seconds by default.
  • For pull queues, this field is output only and always 0. max_retry_duration will be truncated to the nearest second. This field has the same meaning as task_age_limit in queue.yaml. Corresponds to the JSON property maxRetryDuration

Returns:

  • (String)


1330
1331
1332
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1330

def max_retry_duration
  @max_retry_duration
end

#min_backoffString

The minimum amount of time to wait before retrying a task after it fails.

Returns:

  • (String)


1344
1345
1346
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1344

def min_backoff
  @min_backoff
end

#unlimited_attemptsBoolean Also known as: unlimited_attempts?

If true, then the number of attempts is unlimited. Corresponds to the JSON property unlimitedAttempts

Returns:

  • (Boolean)


1349
1350
1351
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1349

def unlimited_attempts
  @unlimited_attempts
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1357
1358
1359
1360
1361
1362
1363
1364
# File 'generated/google/apis/cloudtasks_v2beta2/classes.rb', line 1357

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)
  @unlimited_attempts = args[:unlimited_attempts] if args.key?(:unlimited_attempts)
end