@@ -860,24 +860,42 @@ async def list_hosts(request: web.Request, params: Any) -> web.Response:
860
860
if default_host not in allowed_hosts :
861
861
default_host = None
862
862
863
+ volumes = [
864
+ (proxy_name , volume_data )
865
+ for proxy_name , volume_data in all_volumes
866
+ if f"{ proxy_name } :{ volume_data ['name' ]} " in allowed_hosts
867
+ ]
868
+
869
+ fetch_exposed_volume_fields_tasks = [
870
+ fetch_exposed_volume_fields (
871
+ storage_manager = root_ctx .storage_manager ,
872
+ redis_connection = root_ctx .redis_stat ,
873
+ proxy_name = proxy_name ,
874
+ volume_name = volume_data ["name" ],
875
+ )
876
+ for proxy_name , volume_data in volumes
877
+ ]
878
+ get_sftp_scaling_groups_tasks = [
879
+ root_ctx .storage_manager .get_sftp_scaling_groups (proxy_name )
880
+ for proxy_name , volume_data in volumes
881
+ ]
882
+
883
+ fetch_exposed_volume_fields_results , get_sftp_scaling_groups_results = await asyncio .gather (
884
+ asyncio .gather (* fetch_exposed_volume_fields_tasks ),
885
+ asyncio .gather (* get_sftp_scaling_groups_tasks ),
886
+ )
887
+
863
888
volume_info = {
864
889
f"{ proxy_name } :{ volume_data ['name' ]} " : {
865
890
"backend" : volume_data ["backend" ],
866
891
"capabilities" : volume_data ["capabilities" ],
867
- "usage" : await fetch_exposed_volume_fields (
868
- storage_manager = root_ctx .storage_manager ,
869
- redis_connection = root_ctx .redis_stat ,
870
- proxy_name = proxy_name ,
871
- volume_name = volume_data ["name" ],
872
- ),
873
- "sftp_scaling_groups" : await root_ctx .storage_manager .get_sftp_scaling_groups (
874
- proxy_name
875
- ),
892
+ "usage" : usage ,
893
+ "sftp_scaling_groups" : sftp_scaling_groups ,
876
894
}
877
- for proxy_name , volume_data in all_volumes
878
- if f"{ proxy_name } :{ volume_data ['name' ]} " in allowed_hosts
895
+ for (proxy_name , volume_data ), usage , sftp_scaling_groups in zip (
896
+ volumes , fetch_exposed_volume_fields_results , get_sftp_scaling_groups_results
897
+ )
879
898
}
880
-
881
899
resp = {
882
900
"default" : default_host ,
883
901
"allowed" : sorted (allowed_hosts ),
0 commit comments