Skip to content

Commit 696c1c6

Browse files
author
Andrei Neagu
committed
refactored interfaces
1 parent e8c1c2a commit 696c1c6

File tree

8 files changed

+17
-24
lines changed

8 files changed

+17
-24
lines changed

packages/models-library/src/models_library/api_schemas_directorv2/dynamic_services.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from ..resource_tracker import HardwareInfo, PricingInfo
77
from ..services import ServicePortKey
8+
from ..services_creation import CreateServiceMetricsAdditionalParams
89
from ..services_resources import ServiceResourcesDict, ServiceResourcesDictHelpers
910
from ..wallets import WalletInfo
1011
from .dynamic_services_service import RunningDynamicServiceDetails, ServiceDetails
@@ -104,3 +105,7 @@ class GetProjectInactivityResponse(BaseModel):
104105
is_inactive: bool
105106

106107
model_config = ConfigDict(json_schema_extra={"example": {"is_inactive": "false"}})
108+
109+
110+
class ContainersCreate(BaseModel):
111+
metrics_params: CreateServiceMetricsAdditionalParams

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22
from typing import Annotated
33

44
from fastapi import APIRouter, Depends, Request, status
5+
from models_library.api_schemas_directorv2.dynamic_services import ContainersCreate
56
from servicelib.fastapi.long_running_tasks._manager import FastAPILongRunningManager
67
from servicelib.fastapi.long_running_tasks.server import get_long_running_manager
78
from servicelib.fastapi.requests_decorators import cancel_on_disconnect
89
from servicelib.long_running_tasks.models import TaskId
910

10-
from ...models.schemas.containers import ContainersCreate
11-
from ...modules.inputs import InputsState
1211
from ...services import containers_long_running_tasks
13-
from ._dependencies import get_inputs_state
1412

1513
router = APIRouter()
1614

@@ -134,15 +132,11 @@ async def ports_inputs_pull_task(
134132
long_running_manager: Annotated[
135133
FastAPILongRunningManager, Depends(get_long_running_manager)
136134
],
137-
inputs_state: Annotated[InputsState, Depends(get_inputs_state)],
138135
port_keys: list[str] | None = None,
139136
) -> TaskId:
140137
_ = request
141138
return await containers_long_running_tasks.ports_inputs_pull_task(
142-
long_running_manager.rpc_client,
143-
long_running_manager.lrt_namespace,
144-
inputs_state,
145-
port_keys,
139+
long_running_manager.rpc_client, long_running_manager.lrt_namespace, port_keys
146140
)
147141

148142

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
from models_library.services_creation import CreateServiceMetricsAdditionalParams
21
from pydantic import BaseModel
32

43

54
class ContainersComposeSpec(BaseModel):
65
docker_compose_yaml: str
7-
8-
9-
class ContainersCreate(BaseModel):
10-
metrics_params: CreateServiceMetricsAdditionalParams

services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/modules/long_running_tasks.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from typing import Any, Final
77

88
from fastapi import FastAPI
9+
from models_library.api_schemas_directorv2.dynamic_services import ContainersCreate
910
from models_library.api_schemas_long_running_tasks.base import TaskProgress
1011
from models_library.generated_models.docker_rest_api import ContainerState
1112
from models_library.rabbitmq_messages import ProgressType, SimcorePlatformStatus
@@ -48,9 +49,9 @@
4849
from ..core.utils import CommandResult
4950
from ..core.validation import parse_compose_spec
5051
from ..models.schemas.application_health import ApplicationHealth
51-
from ..models.schemas.containers import ContainersCreate
5252
from ..models.shared_store import SharedStore
5353
from ..modules import nodeports, user_services_preferences
54+
from ..modules.inputs import InputsState
5455
from ..modules.mounted_fs import MountedVolumes
5556
from ..modules.notifications._notifications_ports import PortNotifier
5657
from ..modules.outputs import OutputsManager, event_propagation_disabled
@@ -488,11 +489,10 @@ async def task_ports_inputs_pull(
488489
app: FastAPI,
489490
settings: ApplicationSettings,
490491
mounted_volumes: MountedVolumes,
492+
inputs_state: InputsState,
491493
port_keys: list[str] | None,
492-
*,
493-
inputs_pulling_enabled: bool,
494494
) -> int:
495-
if not inputs_pulling_enabled:
495+
if not inputs_state.inputs_pulling_enabled:
496496
_logger.info("Received request to pull inputs but was ignored")
497497
return 0
498498

@@ -647,6 +647,7 @@ async def on_startup() -> None:
647647
application_health: ApplicationHealth = app.state.application_health
648648
mounted_volumes: MountedVolumes = app.state.mounted_volumes
649649
outputs_manager: OutputsManager = app.state.outputs_manager
650+
inputs_state: InputsState = app.state.inputs_state
650651

651652
task_context.update(
652653
{
@@ -680,6 +681,7 @@ async def on_startup() -> None:
680681
app=app,
681682
settings=settings,
682683
mounted_volumes=mounted_volumes,
684+
inputs_state=inputs_state,
683685
),
684686
task_ports_outputs_pull: dict(
685687
app=app,

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
from typing import cast
22

3+
from models_library.api_schemas_directorv2.dynamic_services import ContainersCreate
34
from servicelib.long_running_tasks import lrt_api
45
from servicelib.long_running_tasks.errors import TaskAlreadyRunningError
56
from servicelib.long_running_tasks.models import LRTNamespace, TaskId
67
from servicelib.rabbitmq._client_rpc import RabbitMQRPCClient
78

8-
from ..models.schemas.containers import ContainersCreate
9-
from ..modules.inputs import InputsState
109
from ..modules.long_running_tasks import (
1110
task_containers_restart,
1211
task_create_service_containers,
@@ -100,7 +99,6 @@ async def state_save_task(
10099
async def ports_inputs_pull_task(
101100
rpc_client: RabbitMQRPCClient,
102101
lrt_namespace: LRTNamespace,
103-
inputs_state: InputsState,
104102
port_keys: list[str] | None = None,
105103
) -> TaskId:
106104
try:
@@ -110,7 +108,6 @@ async def ports_inputs_pull_task(
110108
task_ports_inputs_pull.__name__,
111109
unique=True,
112110
port_keys=port_keys,
113-
inputs_pulling_enabled=inputs_state.inputs_pulling_enabled,
114111
)
115112
except TaskAlreadyRunningError as e:
116113
return _get_task_id_from_error(e)

services/dynamic-sidecar/tests/unit/test_api_rest_containers_long_running_tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from fastapi import FastAPI
2222
from fastapi.routing import APIRoute
2323
from httpx import ASGITransport, AsyncClient
24+
from models_library.api_schemas_directorv2.dynamic_services import ContainersCreate
2425
from models_library.api_schemas_dynamic_sidecar.containers import DockerComposeYamlStr
2526
from models_library.api_schemas_long_running_tasks.base import (
2627
ProgressMessage,
@@ -42,7 +43,6 @@
4243
from simcore_service_dynamic_sidecar.core.validation import InvalidComposeSpecError
4344
from simcore_service_dynamic_sidecar.models.schemas.containers import (
4445
ContainersComposeSpec,
45-
ContainersCreate,
4646
)
4747
from simcore_service_dynamic_sidecar.models.shared_store import SharedStore
4848
from simcore_service_dynamic_sidecar.modules.inputs import enable_inputs_pulling

services/dynamic-sidecar/tests/unit/test_api_rest_prometheus_metrics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from common_library.serialization import model_dump_with_secrets
1313
from fastapi import FastAPI, status
1414
from httpx import ASGITransport, AsyncClient
15+
from models_library.api_schemas_directorv2.dynamic_services import ContainersCreate
1516
from models_library.api_schemas_dynamic_sidecar.containers import DockerComposeYamlStr
1617
from models_library.callbacks_mapping import CallbacksMapping
1718
from models_library.services_creation import CreateServiceMetricsAdditionalParams
@@ -24,7 +25,6 @@
2425
from simcore_service_dynamic_sidecar._meta import API_VTAG
2526
from simcore_service_dynamic_sidecar.models.schemas.containers import (
2627
ContainersComposeSpec,
27-
ContainersCreate,
2828
)
2929
from simcore_service_dynamic_sidecar.modules.prometheus_metrics import (
3030
_USER_SERVICES_NOT_STARTED,

services/dynamic-sidecar/tests/unit/test_api_rest_workflow_service_metrics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from common_library.serialization import model_dump_with_secrets
2020
from fastapi import FastAPI
2121
from httpx import ASGITransport, AsyncClient
22+
from models_library.api_schemas_directorv2.dynamic_services import ContainersCreate
2223
from models_library.api_schemas_dynamic_sidecar.containers import DockerComposeYamlStr
2324
from models_library.generated_models.docker_rest_api import ContainerState
2425
from models_library.generated_models.docker_rest_api import Status2 as ContainerStatus
@@ -43,7 +44,6 @@
4344
from simcore_service_dynamic_sidecar.core.docker_utils import get_container_states
4445
from simcore_service_dynamic_sidecar.models.schemas.containers import (
4546
ContainersComposeSpec,
46-
ContainersCreate,
4747
)
4848
from simcore_service_dynamic_sidecar.models.shared_store import SharedStore
4949
from tenacity import AsyncRetrying, TryAgain

0 commit comments

Comments
 (0)