Skip to content

Commit b1d46bc

Browse files
author
Andrei Neagu
committed
refactor servies to use proper interface
1 parent 66ec8e6 commit b1d46bc

File tree

2 files changed

+58
-30
lines changed

2 files changed

+58
-30
lines changed

services/director-v2/src/simcore_service_director_v2/api/routes/dynamic_scheduler.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
from fastapi import APIRouter, Depends, HTTPException, status
55
from models_library.projects_nodes_io import NodeID
66
from pydantic import BaseModel, PositiveInt
7-
from servicelib.fastapi.long_running_tasks.server import get_tasks_manager
7+
from servicelib.fastapi.long_running_tasks._manager import FastAPILongRunningManager
8+
from servicelib.fastapi.long_running_tasks.server import get_long_running_manager
89
from servicelib.long_running_tasks.errors import TaskAlreadyRunningError
910
from servicelib.long_running_tasks.models import (
1011
ProgressMessage,
1112
ProgressPercent,
1213
TaskId,
1314
TaskProgress,
1415
)
15-
from servicelib.long_running_tasks.task import TasksManager, start_task
16+
from servicelib.long_running_tasks.task import start_task
1617
from tenacity import retry
1718
from tenacity.before_sleep import before_sleep_log
1819
from tenacity.retry import retry_if_result
@@ -91,7 +92,9 @@ async def update_service_observation(
9192
)
9293
async def delete_service_containers(
9394
node_uuid: NodeID,
94-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
95+
long_running_manager: Annotated[
96+
FastAPILongRunningManager, Depends(get_long_running_manager)
97+
],
9598
dynamic_sidecars_scheduler: Annotated[
9699
DynamicSidecarsScheduler, Depends(get_dynamic_sidecar_scheduler)
97100
],
@@ -110,7 +113,7 @@ async def _progress_callback(
110113

111114
try:
112115
return start_task(
113-
tasks_manager,
116+
long_running_manager.tasks_manager,
114117
task=_task_remove_service_containers, # type: ignore[arg-type]
115118
unique=True,
116119
node_uuid=node_uuid,
@@ -149,7 +152,9 @@ async def get_service_state(
149152
)
150153
async def save_service_state(
151154
node_uuid: NodeID,
152-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
155+
long_running_manager: Annotated[
156+
FastAPILongRunningManager, Depends(get_long_running_manager)
157+
],
153158
dynamic_sidecars_scheduler: Annotated[
154159
DynamicSidecarsScheduler, Depends(get_dynamic_sidecar_scheduler)
155160
],
@@ -169,7 +174,7 @@ async def _progress_callback(
169174

170175
try:
171176
return start_task(
172-
tasks_manager,
177+
long_running_manager.tasks_manager,
173178
task=_task_save_service_state, # type: ignore[arg-type]
174179
unique=True,
175180
node_uuid=node_uuid,
@@ -191,7 +196,9 @@ async def _progress_callback(
191196
)
192197
async def push_service_outputs(
193198
node_uuid: NodeID,
194-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
199+
long_running_manager: Annotated[
200+
FastAPILongRunningManager, Depends(get_long_running_manager)
201+
],
195202
dynamic_sidecars_scheduler: Annotated[
196203
DynamicSidecarsScheduler, Depends(get_dynamic_sidecar_scheduler)
197204
],
@@ -210,7 +217,7 @@ async def _progress_callback(
210217

211218
try:
212219
return start_task(
213-
tasks_manager,
220+
long_running_manager.tasks_manager,
214221
task=_task_push_service_outputs, # type: ignore[arg-type]
215222
unique=True,
216223
node_uuid=node_uuid,
@@ -232,7 +239,9 @@ async def _progress_callback(
232239
)
233240
async def delete_service_docker_resources(
234241
node_uuid: NodeID,
235-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
242+
long_running_manager: Annotated[
243+
FastAPILongRunningManager, Depends(get_long_running_manager)
244+
],
236245
dynamic_sidecars_scheduler: Annotated[
237246
DynamicSidecarsScheduler, Depends(get_dynamic_sidecar_scheduler)
238247
],
@@ -246,7 +255,7 @@ async def _task_cleanup_service_docker_resources(
246255

247256
try:
248257
return start_task(
249-
tasks_manager,
258+
long_running_manager.tasks_manager,
250259
task=_task_cleanup_service_docker_resources, # type: ignore[arg-type]
251260
unique=True,
252261
node_uuid=node_uuid,

services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/api/rest/containers_long_running_tasks.py

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
from typing import Annotated, cast
33

44
from fastapi import APIRouter, Depends, FastAPI, Request, status
5-
from servicelib.fastapi.long_running_tasks.server import get_tasks_manager
5+
from servicelib.fastapi.long_running_tasks._manager import FastAPILongRunningManager
6+
from servicelib.fastapi.long_running_tasks.server import get_long_running_manager
67
from servicelib.fastapi.requests_decorators import cancel_on_disconnect
78
from servicelib.long_running_tasks.errors import TaskAlreadyRunningError
89
from servicelib.long_running_tasks.models import TaskId
9-
from servicelib.long_running_tasks.task import TasksManager, start_task
10+
from servicelib.long_running_tasks.task import start_task
1011

1112
from ...core.settings import ApplicationSettings
1213
from ...models.schemas.application_health import ApplicationHealth
@@ -48,15 +49,17 @@
4849
@cancel_on_disconnect
4950
async def pull_user_servcices_docker_images(
5051
request: Request,
51-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
52+
long_running_manager: Annotated[
53+
FastAPILongRunningManager, Depends(get_long_running_manager)
54+
],
5255
shared_store: Annotated[SharedStore, Depends(get_shared_store)],
5356
app: Annotated[FastAPI, Depends(get_application)],
5457
) -> TaskId:
5558
assert request # nosec
5659

5760
try:
5861
return start_task(
59-
tasks_manager,
62+
long_running_manager.tasks_manager,
6063
task=task_pull_user_servcices_docker_images,
6164
unique=True,
6265
app=app,
@@ -85,7 +88,9 @@ async def pull_user_servcices_docker_images(
8588
async def create_service_containers_task( # pylint: disable=too-many-arguments
8689
request: Request,
8790
containers_create: ContainersCreate,
88-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
91+
long_running_manager: Annotated[
92+
FastAPILongRunningManager, Depends(get_long_running_manager)
93+
],
8994
settings: Annotated[ApplicationSettings, Depends(get_settings)],
9095
shared_store: Annotated[SharedStore, Depends(get_shared_store)],
9196
app: Annotated[FastAPI, Depends(get_application)],
@@ -95,7 +100,7 @@ async def create_service_containers_task( # pylint: disable=too-many-arguments
95100

96101
try:
97102
return start_task(
98-
tasks_manager,
103+
long_running_manager.tasks_manager,
99104
task=task_create_service_containers,
100105
unique=True,
101106
settings=settings,
@@ -117,7 +122,9 @@ async def create_service_containers_task( # pylint: disable=too-many-arguments
117122
@cancel_on_disconnect
118123
async def runs_docker_compose_down_task(
119124
request: Request,
120-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
125+
long_running_manager: Annotated[
126+
FastAPILongRunningManager, Depends(get_long_running_manager)
127+
],
121128
settings: Annotated[ApplicationSettings, Depends(get_settings)],
122129
shared_store: Annotated[SharedStore, Depends(get_shared_store)],
123130
app: Annotated[FastAPI, Depends(get_application)],
@@ -127,7 +134,7 @@ async def runs_docker_compose_down_task(
127134

128135
try:
129136
return start_task(
130-
tasks_manager,
137+
long_running_manager.tasks_manager,
131138
task=task_runs_docker_compose_down,
132139
unique=True,
133140
app=app,
@@ -148,7 +155,9 @@ async def runs_docker_compose_down_task(
148155
@cancel_on_disconnect
149156
async def state_restore_task(
150157
request: Request,
151-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
158+
long_running_manager: Annotated[
159+
FastAPILongRunningManager, Depends(get_long_running_manager)
160+
],
152161
settings: Annotated[ApplicationSettings, Depends(get_settings)],
153162
mounted_volumes: Annotated[MountedVolumes, Depends(get_mounted_volumes)],
154163
app: Annotated[FastAPI, Depends(get_application)],
@@ -157,7 +166,7 @@ async def state_restore_task(
157166

158167
try:
159168
return start_task(
160-
tasks_manager,
169+
long_running_manager.tasks_manager,
161170
task=task_restore_state,
162171
unique=True,
163172
settings=settings,
@@ -177,7 +186,9 @@ async def state_restore_task(
177186
@cancel_on_disconnect
178187
async def state_save_task(
179188
request: Request,
180-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
189+
long_running_manager: Annotated[
190+
FastAPILongRunningManager, Depends(get_long_running_manager)
191+
],
181192
app: Annotated[FastAPI, Depends(get_application)],
182193
mounted_volumes: Annotated[MountedVolumes, Depends(get_mounted_volumes)],
183194
settings: Annotated[ApplicationSettings, Depends(get_settings)],
@@ -186,7 +197,7 @@ async def state_save_task(
186197

187198
try:
188199
return start_task(
189-
tasks_manager,
200+
long_running_manager.tasks_manager,
190201
task=task_save_state,
191202
unique=True,
192203
settings=settings,
@@ -206,7 +217,9 @@ async def state_save_task(
206217
@cancel_on_disconnect
207218
async def ports_inputs_pull_task(
208219
request: Request,
209-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
220+
long_running_manager: Annotated[
221+
FastAPILongRunningManager, Depends(get_long_running_manager)
222+
],
210223
app: Annotated[FastAPI, Depends(get_application)],
211224
settings: Annotated[ApplicationSettings, Depends(get_settings)],
212225
mounted_volumes: Annotated[MountedVolumes, Depends(get_mounted_volumes)],
@@ -217,7 +230,7 @@ async def ports_inputs_pull_task(
217230

218231
try:
219232
return start_task(
220-
tasks_manager,
233+
long_running_manager.tasks_manager,
221234
task=task_ports_inputs_pull,
222235
unique=True,
223236
port_keys=port_keys,
@@ -239,7 +252,9 @@ async def ports_inputs_pull_task(
239252
@cancel_on_disconnect
240253
async def ports_outputs_pull_task(
241254
request: Request,
242-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
255+
long_running_manager: Annotated[
256+
FastAPILongRunningManager, Depends(get_long_running_manager)
257+
],
243258
app: Annotated[FastAPI, Depends(get_application)],
244259
mounted_volumes: Annotated[MountedVolumes, Depends(get_mounted_volumes)],
245260
port_keys: list[str] | None = None,
@@ -248,7 +263,7 @@ async def ports_outputs_pull_task(
248263

249264
try:
250265
return start_task(
251-
tasks_manager,
266+
long_running_manager.tasks_manager,
252267
task=task_ports_outputs_pull,
253268
unique=True,
254269
port_keys=port_keys,
@@ -268,15 +283,17 @@ async def ports_outputs_pull_task(
268283
@cancel_on_disconnect
269284
async def ports_outputs_push_task(
270285
request: Request,
271-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
286+
long_running_manager: Annotated[
287+
FastAPILongRunningManager, Depends(get_long_running_manager)
288+
],
272289
outputs_manager: Annotated[OutputsManager, Depends(get_outputs_manager)],
273290
app: Annotated[FastAPI, Depends(get_application)],
274291
) -> TaskId:
275292
assert request # nosec
276293

277294
try:
278295
return start_task(
279-
tasks_manager,
296+
long_running_manager.tasks_manager,
280297
task=task_ports_outputs_push,
281298
unique=True,
282299
outputs_manager=outputs_manager,
@@ -295,7 +312,9 @@ async def ports_outputs_push_task(
295312
@cancel_on_disconnect
296313
async def containers_restart_task(
297314
request: Request,
298-
tasks_manager: Annotated[TasksManager, Depends(get_tasks_manager)],
315+
long_running_manager: Annotated[
316+
FastAPILongRunningManager, Depends(get_long_running_manager)
317+
],
299318
app: Annotated[FastAPI, Depends(get_application)],
300319
settings: Annotated[ApplicationSettings, Depends(get_settings)],
301320
shared_store: Annotated[SharedStore, Depends(get_shared_store)],
@@ -304,7 +323,7 @@ async def containers_restart_task(
304323

305324
try:
306325
return start_task(
307-
tasks_manager,
326+
long_running_manager.tasks_manager,
308327
task=task_containers_restart,
309328
unique=True,
310329
app=app,

0 commit comments

Comments
 (0)