Skip to content

Commit b724757

Browse files
review @sanderegg
1 parent 0bf9c95 commit b724757

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

services/director-v2/src/simcore_service_director_v2/api/rpc/_computations.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import asyncio
2-
31
# pylint: disable=too-many-arguments
42
from fastapi import FastAPI
53
from models_library.api_schemas_directorv2.comp_runs import (
@@ -14,6 +12,7 @@
1412
from models_library.services_types import ServiceRunID
1513
from models_library.users import UserID
1614
from servicelib.rabbitmq import RPCRouter
15+
from servicelib.utils import limited_gather
1716
from simcore_service_director_v2.models.comp_tasks import ComputationTaskForRpcDBGet
1817

1918
from ...modules.db.repositories.comp_runs import CompRunsRepository
@@ -94,8 +93,9 @@ async def list_computations_latest_iteration_tasks_page(
9493
)
9594

9695
# Run all log fetches concurrently
97-
log_files = await asyncio.gather(
98-
*(_fetch_task_log(user_id, project_id, task) for task in comp_tasks)
96+
log_files = await limited_gather(
97+
*[_fetch_task_log(user_id, project_id, task) for task in comp_tasks],
98+
limit=20,
9999
)
100100

101101
comp_tasks_output = [

services/web/server/src/simcore_service_webserver/director_v2/_computations_service.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import asyncio
21
from decimal import Decimal
32

43
from aiohttp import web
@@ -15,6 +14,7 @@
1514
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker import (
1615
credit_transactions,
1716
)
17+
from servicelib.utils import limited_gather
1818

1919
from ..products.products_service import is_product_billable
2020
from ..projects.api import check_user_project_permission, get_project_dict_legacy
@@ -86,13 +86,14 @@ async def list_computations_latest_iteration_tasks(
8686
_service_run_osparc_credits: list[Decimal | None]
8787
if _is_product_billable:
8888
# NOTE: MD: can be improved with a single batch call
89-
_service_run_osparc_credits = await asyncio.gather(
89+
_service_run_osparc_credits = await limited_gather(
9090
*[
9191
credit_transactions.get_transaction_current_credits_by_service_run_id(
9292
rpc_client, service_run_id=_run_id
9393
)
9494
for _run_id in _service_run_ids
95-
]
95+
],
96+
limit=20,
9697
)
9798
else:
9899
_service_run_osparc_credits = [None for _ in _service_run_ids]

0 commit comments

Comments
 (0)