5353)
5454
5555
56- def _env_int (name : str , default : int ) -> int :
56+ def _env_int (name : str , default : int , min_value : int = 0 ) -> int :
5757 raw = os .environ .get (name )
5858 if raw is None or raw .strip () == "" :
5959 return default
6060 try :
61- return int (raw )
61+ value = int (raw )
6262 except ValueError :
6363 log .warning (f"Ignoring invalid { name } ={ raw !r} ; using default { default } ." )
6464 return default
65+ if value < min_value :
66+ log .warning (f"Ignoring { name } ={ raw !r} ; using default { default } ." )
67+ return default
68+ return value
6569
6670
67- def _env_float (name : str , default : float ) -> float :
71+ def _env_float (name : str , default : float , min_value : float = 0.0 ) -> float :
6872 raw = os .environ .get (name )
6973 if raw is None or raw .strip () == "" :
7074 return default
7175 try :
72- return float (raw )
76+ value = float (raw )
7377 except ValueError :
7478 log .warning (f"Ignoring invalid { name } ={ raw !r} ; using default { default } ." )
7579 return default
80+ if value < min_value :
81+ log .warning (f"Ignoring { name } ={ raw !r} ; using default { default } ." )
82+ return default
83+ return value
7684
7785
7886class RetryPolicy (BaseModel ):
@@ -87,15 +95,15 @@ class RetryPolicy(BaseModel):
8795 - ``BAKERY_REGISTRY_RETRY_MULTIPLIER`` (default 2.0)
8896 """
8997
90- max_attempts : Annotated [int , Field (default_factory = lambda : _env_int ("BAKERY_REGISTRY_RETRY_ATTEMPTS" , 5 ), ge = 1 )]
98+ max_attempts : Annotated [int , Field (default_factory = lambda : _env_int ("BAKERY_REGISTRY_RETRY_ATTEMPTS" , 5 , 1 ), ge = 1 )]
9199 initial_backoff : Annotated [
92- float , Field (default_factory = lambda : _env_float ("BAKERY_REGISTRY_RETRY_INITIAL_BACKOFF" , 2.0 ), ge = 0 )
100+ float , Field (default_factory = lambda : _env_float ("BAKERY_REGISTRY_RETRY_INITIAL_BACKOFF" , 2.0 , 0 ), ge = 0 )
93101 ]
94102 max_backoff : Annotated [
95- float , Field (default_factory = lambda : _env_float ("BAKERY_REGISTRY_RETRY_MAX_BACKOFF" , 32.0 ), ge = 0 )
103+ float , Field (default_factory = lambda : _env_float ("BAKERY_REGISTRY_RETRY_MAX_BACKOFF" , 32.0 , 0 ), ge = 0 )
96104 ]
97105 multiplier : Annotated [
98- float , Field (default_factory = lambda : _env_float ("BAKERY_REGISTRY_RETRY_MULTIPLIER" , 2.0 ), ge = 1 )
106+ float , Field (default_factory = lambda : _env_float ("BAKERY_REGISTRY_RETRY_MULTIPLIER" , 2.0 , 1 ), ge = 1 )
99107 ]
100108
101109
0 commit comments