Class: Google::Apis::CloudschedulerV1::RetryConfig

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

Overview

Settings that determine the retry behavior. By default, if a job does not complete successfully (meaning that an acknowledgement is not received from the handler, then it will be retried with exponential backoff according to the settings in RetryConfig.

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.



861
862
863
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 861

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

Instance Attribute Details

#max_backoff_durationString

The maximum amount of time to wait before retrying a job after it fails. The default value of this field is 1 hour. Corresponds to the JSON property maxBackoffDuration

Returns:

  • (String)


806
807
808
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 806

def max_backoff_duration
  @max_backoff_duration
end

#max_doublingsFixnum

The time between retries will double max_doublings times. A job's retry interval starts at min_backoff_duration, then doubles max_doublings times, then increases linearly, and finally retries at intervals of max_backoff_duration up to retry_count times. For example, if min_backoff_duration is 10s, max_backoff_duration is 300s, and max_doublings is 3, then the a job will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the job will retry at intervals of max_backoff_duration until the job has been attempted retry_count times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... The default value of this field is 5. Corresponds to the JSON property maxDoublings

Returns:

  • (Fixnum)


826
827
828
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 826

def max_doublings
  @max_doublings
end

#max_retry_durationString

The time limit for retrying a failed job, measured from time when an execution was first attempted. If specified with retry_count, the job will be retried until both limits are reached. The default value for max_retry_duration is zero, which means retry duration is unlimited. Corresponds to the JSON property maxRetryDuration

Returns:

  • (String)


836
837
838
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 836

def max_retry_duration
  @max_retry_duration
end

#min_backoff_durationString

The minimum amount of time to wait before retrying a job after it fails. The default value of this field is 5 seconds. Corresponds to the JSON property minBackoffDuration

Returns:

  • (String)


843
844
845
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 843

def min_backoff_duration
  @min_backoff_duration
end

#retry_countFixnum

The number of attempts that the system will make to run a job using the exponential backoff procedure described by max_doublings. The default value of retry_count is zero. If retry_count is zero, a job attempt will not be retried if it fails. Instead the Cloud Scheduler system will wait for the next scheduled execution time. If retry_count is set to a non-zero number then Cloud Scheduler will retry failed attempts, using exponential backoff, retry_count times, or until the next scheduled execution time, whichever comes first. Values greater than 5 and negative values are not allowed. Corresponds to the JSON property retryCount

Returns:

  • (Fixnum)


859
860
861
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 859

def retry_count
  @retry_count
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



866
867
868
869
870
871
872
# File 'generated/google/apis/cloudscheduler_v1/classes.rb', line 866

def update!(**args)
  @max_backoff_duration = args[:max_backoff_duration] if args.key?(:max_backoff_duration)
  @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_duration = args[:min_backoff_duration] if args.key?(:min_backoff_duration)
  @retry_count = args[:retry_count] if args.key?(:retry_count)
end