Skip to content

Commit 51ba0e4

Browse files
committed
send socket event
1 parent 7b881aa commit 51ba0e4

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

services/web/server/src/simcore_service_webserver/notifications/_rabbitmq_exclusive_queue_consumers.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from aiohttp import web
88
from models_library.groups import GroupID
99
from models_library.rabbitmq_messages import (
10+
ComputationalPipelineStatusMessage,
1011
EventRabbitMessage,
1112
LoggerRabbitMessage,
1213
ProgressRabbitMessageNode,
@@ -97,6 +98,27 @@ async def _progress_message_parser(app: web.Application, data: bytes) -> bool:
9798
return True
9899

99100

101+
async def _computational_pipeline_status_message_parser(
102+
app: web.Application, data: bytes
103+
) -> bool:
104+
rabbit_message = ComputationalPipelineStatusMessage.model_validate_json(data)
105+
try:
106+
project = await _projects_service.get_project_for_user(
107+
app,
108+
f"{rabbit_message.project_id}",
109+
rabbit_message.user_id,
110+
include_state=True,
111+
)
112+
await _projects_service.notify_project_state_update(app, project)
113+
except ProjectNotFoundError:
114+
_logger.warning(
115+
"Project %s not found for user %s",
116+
rabbit_message.project_id,
117+
rabbit_message.user_id,
118+
)
119+
return True
120+
121+
100122
async def _log_message_parser(app: web.Application, data: bytes) -> bool:
101123
rabbit_message = LoggerRabbitMessage.model_validate_json(data)
102124
await send_message_to_user(
@@ -171,6 +193,11 @@ async def _osparc_credits_message_parser(app: web.Application, data: bytes) -> b
171193
_osparc_credits_message_parser,
172194
{"topics": []},
173195
),
196+
SubcribeArgumentsTuple(
197+
ComputationalPipelineStatusMessage.get_channel_name(),
198+
_computational_pipeline_status_message_parser,
199+
{"topics": []},
200+
),
174201
)
175202

176203

0 commit comments

Comments
 (0)