Skip to content

Commit c91a6cd

Browse files
authored
Add RpcRetryOptions
Adding support for retry options in worker-indexing scenarios.
2 parents 9d158f4 + b87ac7b commit c91a6cd

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/proto/FunctionRpc.proto

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,9 @@ message RpcFunctionMetadata {
337337
// A flag indicating if managed dependency is enabled or not
338338
bool managed_dependency_enabled = 14;
339339

340+
// The optional function execution retry strategy to use on invocation failures.
341+
RpcRetryOptions retry_options = 15;
342+
340343
// Properties for function metadata
341344
// They're usually specific to a worker and largely passed along to the controller API for use
342345
// outside the host
@@ -698,3 +701,30 @@ message ModelBindingData
698701
message CollectionModelBindingData {
699702
repeated ModelBindingData model_binding_data = 1;
700703
}
704+
705+
// Retry policy which the worker sends the host when the worker indexes
706+
// a function.
707+
message RpcRetryOptions
708+
{
709+
// The retry strategy to use. Valid values are fixed delay or exponential backoff.
710+
enum RetryStrategy
711+
{
712+
exponential_backoff = 0;
713+
fixed_delay = 1;
714+
}
715+
716+
// The maximum number of retries allowed per function execution.
717+
// -1 means to retry indefinitely.
718+
int32 max_retry_count = 2;
719+
720+
// The delay that's used between retries when you're using a fixed delay strategy.
721+
google.protobuf.Duration delay_interval = 3;
722+
723+
// The minimum retry delay when you're using an exponential backoff strategy
724+
google.protobuf.Duration minimum_interval = 4;
725+
726+
// The maximum retry delay when you're using an exponential backoff strategy
727+
google.protobuf.Duration maximum_interval = 5;
728+
729+
RetryStrategy retry_strategy = 6;
730+
}

0 commit comments

Comments
 (0)