@@ -337,6 +337,9 @@ message RpcFunctionMetadata {
337
337
// A flag indicating if managed dependency is enabled or not
338
338
bool managed_dependency_enabled = 14 ;
339
339
340
+ // The optional function execution retry strategy to use on invocation failures.
341
+ RpcRetryOptions retry_options = 15 ;
342
+
340
343
// Properties for function metadata
341
344
// They're usually specific to a worker and largely passed along to the controller API for use
342
345
// outside the host
@@ -698,3 +701,30 @@ message ModelBindingData
698
701
message CollectionModelBindingData {
699
702
repeated ModelBindingData model_binding_data = 1 ;
700
703
}
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