|
14 | 14 | RetrieveDataOutEnveloped, |
15 | 15 | ) |
16 | 16 | from models_library.api_schemas_dynamic_sidecar.containers import ActivityInfoOrNone |
17 | | -from models_library.projects import ProjectAtDB, ProjectID |
| 17 | +from models_library.projects import NodesDict, ProjectID |
18 | 18 | from models_library.projects_nodes_io import NodeID |
19 | 19 | from models_library.service_settings_labels import SimcoreServiceLabels |
20 | 20 | from models_library.users import UserID |
@@ -366,21 +366,20 @@ async def get_project_inactivity( |
366 | 366 | project_id: ProjectID, |
367 | 367 | max_inactivity_seconds: NonNegativeFloat, |
368 | 368 | scheduler: Annotated[DynamicSidecarsScheduler, Depends(get_scheduler)], |
369 | | - projects_repository: Annotated[ |
370 | | - ProjectsRepository, Depends(get_repository(ProjectsRepository)) |
| 369 | + project_nodes_repository: Annotated[ |
| 370 | + ProjectsNodesRepository, Depends(get_repository(ProjectsNodesRepository)) |
371 | 371 | ], |
372 | 372 | ) -> GetProjectInactivityResponse: |
373 | 373 | # A project is considered inactive when all it's services are inactive for |
374 | 374 | # more than `max_inactivity_seconds`. |
375 | 375 | # A `service` which does not support the inactivity callback is considered |
376 | 376 | # inactive. |
377 | | - |
378 | | - project: ProjectAtDB = await projects_repository.get_project(project_id) |
| 377 | + workbench: NodesDict = await project_nodes_repository.get_nodes(project_id) |
379 | 378 |
|
380 | 379 | inactivity_responses: list[ActivityInfoOrNone] = await logged_gather( |
381 | 380 | *[ |
382 | 381 | scheduler.get_service_activity(NodeID(node_id)) |
383 | | - for node_id in project.workbench |
| 382 | + for node_id in workbench |
384 | 383 | # NOTE: only new style services expose service inactivity information |
385 | 384 | # director-v2 only tracks internally new style services |
386 | 385 | if scheduler.is_service_tracked(NodeID(node_id)) |
|
0 commit comments