Skip to content

Commit daef85c

Browse files
⚗️ Add DEBUG log messages in the callback the API-server passes to the RabbitMQ client (#5312)
1 parent 8795ca9 commit daef85c

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

services/api-server/src/simcore_service_api_server/services/log_streaming.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
import asyncio
2+
import logging
23
from asyncio import Queue
34
from datetime import datetime, timezone
45
from typing import AsyncIterable, Awaitable, Callable, Final
56

67
from models_library.rabbitmq_messages import LoggerRabbitMessage
78
from models_library.users import UserID
8-
from pydantic import NonNegativeInt, PositiveInt
9+
from pydantic import NonNegativeInt, ValidationError
910
from servicelib.rabbitmq import RabbitMQClient
1011

1112
from ..models.schemas.jobs import JobID, JobLog
1213
from .director_v2 import DirectorV2Api
1314

15+
_logger = logging.getLogger(__name__)
16+
1417
_NEW_LINE: Final[str] = "\n"
15-
_SLEEP_SECONDS_BEFORE_CHECK_JOB_STATUS: Final[PositiveInt] = 10
1618

1719

1820
class LogDistributionBaseException(Exception):
@@ -52,7 +54,19 @@ async def __aexit__(self, exc_type, exc, tb):
5254
await self.teardown()
5355

5456
async def _distribute_logs(self, data: bytes):
55-
got = LoggerRabbitMessage.parse_raw(data)
57+
try:
58+
got = LoggerRabbitMessage.parse_raw(
59+
data
60+
) # rabbitmq client safe_nacks the message if this deserialization fails
61+
except ValidationError as e:
62+
_logger.debug(
63+
"Could not parse log message from RabbitMQ in LogDistributor._distribute_logs"
64+
)
65+
raise e
66+
_logger.debug(
67+
"LogDistributor._distribute_logs received message message from RabbitMQ: %s",
68+
got.json(),
69+
)
5670
item = JobLog(
5771
job_id=got.project_id,
5872
node_id=got.node_id,

0 commit comments

Comments
 (0)