public sealed class RetryConfig : IMessage<RetryConfig>, IEquatable<RetryConfig>, IDeepCloneable<RetryConfig>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Scheduler v1 API class RetryConfig.
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][google.cloud.scheduler.v1.RetryConfig].
The time between retries will double max_doublings times.
A job's retry interval starts at
[min_backoff_duration][google.cloud.scheduler.v1.RetryConfig.min_backoff_duration],
then doubles max_doublings times, then increases linearly, and finally
retries at intervals of
[max_backoff_duration][google.cloud.scheduler.v1.RetryConfig.max_backoff_duration]
up to [retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count]
times.
For example, if
[min_backoff_duration][google.cloud.scheduler.v1.RetryConfig.min_backoff_duration]
is 10s,
[max_backoff_duration][google.cloud.scheduler.v1.RetryConfig.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][google.cloud.scheduler.v1.RetryConfig.max_backoff_duration]
until the job has been attempted
[retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count] times.
Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s,
300s, ....
The time limit for retrying a failed job, measured from time when an
execution was first attempted. If specified with
[retry_count][google.cloud.scheduler.v1.RetryConfig.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.
The number of attempts that the system will make to run a job using the
exponential backoff procedure described by
[max_doublings][google.cloud.scheduler.v1.RetryConfig.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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eRetryConfig\u003c/code\u003e class in the Google Cloud Scheduler v1 API defines the settings for retrying failed job executions, implementing interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eRetry behavior includes exponential backoff, determined by the \u003ccode\u003emin_backoff_duration\u003c/code\u003e, \u003ccode\u003emax_backoff_duration\u003c/code\u003e, and \u003ccode\u003emax_doublings\u003c/code\u003e properties, with default values of 5 seconds, 1 hour, and 5 doublings, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eretry_count\u003c/code\u003e property controls the number of retry attempts, with a default of zero meaning no retries, and the \u003ccode\u003emax_retry_duration\u003c/code\u003e property limits the total retry time.\u003c/p\u003e\n"],["\u003cp\u003eThe available versions for the library range from version 2.2.0 to 3.5.0, with 3.5.0 being the most recent.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Scheduler v1 API - Class RetryConfig (3.5.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.5.0 (latest)](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/latest/Google.Cloud.Scheduler.V1.RetryConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/3.4.0/Google.Cloud.Scheduler.V1.RetryConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/3.3.0/Google.Cloud.Scheduler.V1.RetryConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/3.2.0/Google.Cloud.Scheduler.V1.RetryConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/3.1.0/Google.Cloud.Scheduler.V1.RetryConfig)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/3.0.0/Google.Cloud.Scheduler.V1.RetryConfig)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/2.3.0/Google.Cloud.Scheduler.V1.RetryConfig)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/2.2.0/Google.Cloud.Scheduler.V1.RetryConfig) \n\n public sealed class RetryConfig : IMessage\u003cRetryConfig\u003e, IEquatable\u003cRetryConfig\u003e, IDeepCloneable\u003cRetryConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Scheduler v1 API class RetryConfig.\n\nSettings that determine the retry behavior.\n\nBy default, if a job does not complete successfully (meaning that\nan acknowledgement is not received from the handler, then it will be retried\nwith exponential backoff according to the settings in\n\\[RetryConfig\\]\\[google.cloud.scheduler.v1.RetryConfig\\]. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e RetryConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[RetryConfig](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/latest/Google.Cloud.Scheduler.V1.RetryConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[RetryConfig](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/latest/Google.Cloud.Scheduler.V1.RetryConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[RetryConfig](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/latest/Google.Cloud.Scheduler.V1.RetryConfig), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Scheduler.V1](/dotnet/docs/reference/Google.Cloud.Scheduler.V1/latest/Google.Cloud.Scheduler.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Scheduler.V1.dll\n\nConstructors\n------------\n\n### RetryConfig()\n\n public RetryConfig()\n\n### RetryConfig(RetryConfig)\n\n public RetryConfig(RetryConfig other)\n\nProperties\n----------\n\n### MaxBackoffDuration\n\n public Duration MaxBackoffDuration { get; set; }\n\nThe maximum amount of time to wait before retrying a job after\nit fails.\n\nThe default value of this field is 1 hour.\n\n### MaxDoublings\n\n public int MaxDoublings { get; set; }\n\nThe time between retries will double `max_doublings` times.\n\nA job's retry interval starts at\n\\[min_backoff_duration\\]\\[google.cloud.scheduler.v1.RetryConfig.min_backoff_duration\\],\nthen doubles `max_doublings` times, then increases linearly, and finally\nretries at intervals of\n\\[max_backoff_duration\\]\\[google.cloud.scheduler.v1.RetryConfig.max_backoff_duration\\]\nup to \\[retry_count\\]\\[google.cloud.scheduler.v1.RetryConfig.retry_count\\]\ntimes.\n\nFor example, if\n\\[min_backoff_duration\\]\\[google.cloud.scheduler.v1.RetryConfig.min_backoff_duration\\]\nis 10s,\n\\[max_backoff_duration\\]\\[google.cloud.scheduler.v1.RetryConfig.max_backoff_duration\\]\nis 300s, and `max_doublings` is 3, then the a job will first be retried in\n10s. The retry interval will double three times, and then increase linearly\nby 2\\^3 \\* 10s. Finally, the job will retry at intervals of\n\\[max_backoff_duration\\]\\[google.cloud.scheduler.v1.RetryConfig.max_backoff_duration\\]\nuntil the job has been attempted\n\\[retry_count\\]\\[google.cloud.scheduler.v1.RetryConfig.retry_count\\] times.\nThus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s,\n300s, ....\n\nThe default value of this field is 5.\n\n### MaxRetryDuration\n\n public Duration MaxRetryDuration { get; set; }\n\nThe time limit for retrying a failed job, measured from time when an\nexecution was first attempted. If specified with\n\\[retry_count\\]\\[google.cloud.scheduler.v1.RetryConfig.retry_count\\], the job\nwill be retried until both limits are reached.\n\nThe default value for max_retry_duration is zero, which means retry\nduration is unlimited.\n\n### MinBackoffDuration\n\n public Duration MinBackoffDuration { get; set; }\n\nThe minimum amount of time to wait before retrying a job after\nit fails.\n\nThe default value of this field is 5 seconds.\n\n### RetryCount\n\n public int RetryCount { get; set; }\n\nThe number of attempts that the system will make to run a job using the\nexponential backoff procedure described by\n\\[max_doublings\\]\\[google.cloud.scheduler.v1.RetryConfig.max_doublings\\].\n\nThe default value of retry_count is zero.\n\nIf retry_count is zero, a job attempt will *not* be retried if\nit fails. Instead the Cloud Scheduler system will wait for the\nnext scheduled execution time.\n\nIf retry_count is set to a non-zero number then Cloud Scheduler\nwill retry failed attempts, using exponential backoff,\nretry_count times, or until the next scheduled execution time,\nwhichever comes first.\n\nValues greater than 5 and negative values are not allowed."]]