Merge pull request #3847 from paneru-rajan/improve-validate-fallback-method

Improve validate-fallbacks method
This commit is contained in:
Krish Dholakia 2024-05-27 18:18:35 -07:00 committed by GitHub
commit 37f11162d2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -350,17 +350,13 @@ class Router:
def validate_fallbacks(self, fallback_param: Optional[List]): def validate_fallbacks(self, fallback_param: Optional[List]):
if fallback_param is None: if fallback_param is None:
return return
if len(fallback_param) > 0: # if set
## for dictionary in list, check if only 1 key in dict for fallback_dict in fallback_param:
for _dict in fallback_param: if not isinstance(fallback_dict, dict):
assert isinstance(_dict, dict), "Item={}, not a dictionary".format( raise ValueError(f"Item '{fallback_dict}' is not a dictionary.")
_dict if len(fallback_dict) != 1:
) raise ValueError(
assert ( f"Dictionary '{fallback_dict}' must have exactly one key, but has {len(fallback_dict)} keys.")
len(_dict.keys()) == 1
), "Only 1 key allows in dictionary. You set={} for dict={}".format(
len(_dict.keys()), _dict
)
def routing_strategy_init(self, routing_strategy: str, routing_strategy_args: dict): def routing_strategy_init(self, routing_strategy: str, routing_strategy_args: dict):
if routing_strategy == "least-busy": if routing_strategy == "least-busy":