Skip to content

Commit f22215c

Browse files
GitHKAndrei Neagu
and
Andrei Neagu
authored
🐛 rabbitmq queue name prefix is unique during the lifecycle of the container (#6365)
Co-authored-by: Andrei Neagu <[email protected]>
1 parent 9b6df59 commit f22215c

File tree

30 files changed

+138
-29
lines changed

30 files changed

+138
-29
lines changed

packages/aws-library/requirements/_base.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ aioboto3==13.1.1
55
aiobotocore==2.13.1
66
# via aioboto3
77
aiocache==0.12.2
8-
# via -r requirements/_base.in
8+
# via
9+
# -r requirements/../../../packages/service-library/requirements/_base.in
10+
# -r requirements/_base.in
911
aiodebug==2.3.0
1012
# via -r requirements/../../../packages/service-library/requirements/_base.in
1113
aiodocker==0.22.2
@@ -174,6 +176,8 @@ protobuf==4.25.4
174176
# via
175177
# googleapis-common-protos
176178
# opentelemetry-proto
179+
psutil==6.0.0
180+
# via -r requirements/../../../packages/service-library/requirements/_base.in
177181
pydantic==1.10.17
178182
# via
179183
# -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt

packages/service-library/requirements/_base.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ opentelemetry-api
1919
opentelemetry-exporter-otlp
2020
opentelemetry-instrumentation-requests
2121
opentelemetry-sdk
22+
psutil
2223
pydantic
2324
pyinstrument
2425
pyyaml

packages/service-library/requirements/_base.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ protobuf==4.25.4
138138
# via
139139
# googleapis-common-protos
140140
# opentelemetry-proto
141+
psutil==6.0.0
142+
# via -r requirements/_base.in
141143
pydantic==1.10.17
142144
# via
143145
# -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt

packages/service-library/requirements/_test.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ docker
1818
faker
1919
flaky
2020
openapi-spec-validator
21-
psutil
2221
pytest
2322
pytest-aiohttp
2423
pytest-asyncio
@@ -35,5 +34,6 @@ python-dotenv
3534
respx
3635
sqlalchemy[mypy]
3736
types_aiofiles
38-
types-psycopg2
3937
types_tqdm
38+
types-psutil
39+
types-psycopg2

packages/service-library/requirements/_test.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ pluggy==1.5.0
141141
# via pytest
142142
pprintpp==0.4.0
143143
# via pytest-icdiff
144-
psutil==6.0.0
145-
# via -r requirements/_test.in
146144
py-cpuinfo==9.0.0
147145
# via pytest-benchmark
148146
pytest==8.3.2
@@ -244,6 +242,8 @@ termcolor==2.4.0
244242
# via pytest-sugar
245243
types-aiofiles==24.1.0.20240626
246244
# via -r requirements/_test.in
245+
types-psutil==6.0.0.20240901
246+
# via -r requirements/_test.in
247247
types-psycopg2==2.9.21.20240819
248248
# via -r requirements/_test.in
249249
types-tqdm==4.66.0.20240417

packages/service-library/src/servicelib/rabbitmq/_utils.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import logging
2+
import os
23
import socket
34
from typing import Any, Final
45

56
import aio_pika
7+
import psutil
68
from aiormq.exceptions import ChannelPreconditionFailed
79
from pydantic import NonNegativeInt
810
from tenacity import retry
@@ -51,7 +53,13 @@ async def wait_till_rabbitmq_responsive(url: str) -> bool:
5153

5254

5355
def get_rabbitmq_client_unique_name(base_name: str) -> str:
54-
return f"{base_name}_{socket.gethostname()}"
56+
# NOTE: below prefix is guaranteed to change each time the preocess restarts
57+
# Why is this desiarable?
58+
# 1. the code base makes the above assumption, otherwise subcscribers and consumers do not work
59+
# 2. enables restartability of webserver during [re]deploys
60+
prefix_create_time = f"{psutil.Process(os.getpid()).create_time()}".strip(".")[-6:]
61+
62+
return f"{base_name}_{socket.gethostname()}_{prefix_create_time}"
5563

5664

5765
async def declare_queue(

packages/simcore-sdk/requirements/_base.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
aio-pika==9.4.3
22
# via -r requirements/../../../packages/service-library/requirements/_base.in
33
aiocache==0.12.2
4-
# via -r requirements/_base.in
4+
# via
5+
# -r requirements/../../../packages/service-library/requirements/_base.in
6+
# -r requirements/_base.in
57
aiodebug==2.3.0
68
# via -r requirements/../../../packages/service-library/requirements/_base.in
79
aiodocker==0.22.2
@@ -191,6 +193,8 @@ protobuf==4.25.4
191193
# via
192194
# googleapis-common-protos
193195
# opentelemetry-proto
196+
psutil==6.0.0
197+
# via -r requirements/../../../packages/service-library/requirements/_base.in
194198
psycopg2-binary==2.9.9
195199
# via
196200
# aiopg

services/api-server/requirements/_base.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ aio-pika==9.4.1
33
# -r requirements/../../../packages/service-library/requirements/_base.in
44
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
55
aiocache==0.12.2
6-
# via -r requirements/../../../packages/simcore-sdk/requirements/_base.in
6+
# via
7+
# -r requirements/../../../packages/service-library/requirements/_base.in
8+
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
9+
# -r requirements/../../../packages/simcore-sdk/requirements/_base.in
710
aiodebug==2.3.0
811
# via
912
# -r requirements/../../../packages/service-library/requirements/_base.in
@@ -365,6 +368,10 @@ protobuf==4.25.4
365368
# via
366369
# googleapis-common-protos
367370
# opentelemetry-proto
371+
psutil==6.0.0
372+
# via
373+
# -r requirements/../../../packages/service-library/requirements/_base.in
374+
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
368375
psycopg2-binary==2.9.9
369376
# via
370377
# aiopg

services/autoscaling/requirements/_base.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ aiobotocore==2.13.1
88
# via aioboto3
99
aiocache==0.12.2
1010
# via
11+
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
1112
# -r requirements/../../../packages/aws-library/requirements/_base.in
13+
# -r requirements/../../../packages/service-library/requirements/_base.in
1214
# -r requirements/_base.in
1315
aiodebug==2.3.0
1416
# via
@@ -57,6 +59,7 @@ arrow==1.3.0
5759
# -r requirements/../../../packages/aws-library/requirements/../../../packages/models-library/requirements/_base.in
5860
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/../../../packages/models-library/requirements/_base.in
5961
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
62+
# -r requirements/../../../packages/aws-library/requirements/_base.in
6063
# -r requirements/../../../packages/models-library/requirements/_base.in
6164
# -r requirements/../../../packages/service-library/requirements/../../../packages/models-library/requirements/_base.in
6265
# -r requirements/../../../packages/service-library/requirements/_base.in
@@ -344,9 +347,11 @@ protobuf==4.25.4
344347
# via
345348
# googleapis-common-protos
346349
# opentelemetry-proto
347-
psutil==5.9.8
350+
psutil==6.0.0
348351
# via
349352
# -c requirements/../../../services/dask-sidecar/requirements/_dask-distributed.txt
353+
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
354+
# -r requirements/../../../packages/service-library/requirements/_base.in
350355
# distributed
351356
pydantic==1.10.15
352357
# via

services/autoscaling/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ ply==3.11
173173
# via jsonpath-ng
174174
pprintpp==0.4.0
175175
# via pytest-icdiff
176-
psutil==5.9.8
176+
psutil==6.0.0
177177
# via
178178
# -c requirements/_base.txt
179179
# -r requirements/_test.in

services/catalog/requirements/_base.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
aio-pika==9.4.1
22
# via -r requirements/../../../packages/service-library/requirements/_base.in
33
aiocache==0.12.2
4-
# via -r requirements/_base.in
4+
# via
5+
# -r requirements/../../../packages/service-library/requirements/_base.in
6+
# -r requirements/_base.in
57
aiodebug==2.3.0
68
# via -r requirements/../../../packages/service-library/requirements/_base.in
79
aiodocker==0.21.0
@@ -257,6 +259,8 @@ protobuf==4.25.4
257259
# via
258260
# googleapis-common-protos
259261
# opentelemetry-proto
262+
psutil==6.0.0
263+
# via -r requirements/../../../packages/service-library/requirements/_base.in
260264
psycopg2-binary==2.9.9
261265
# via sqlalchemy
262266
pydantic==1.10.14

services/clusters-keeper/requirements/_base.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ aioboto3==13.1.0
77
aiobotocore==2.13.1
88
# via aioboto3
99
aiocache==0.12.2
10-
# via -r requirements/../../../packages/aws-library/requirements/_base.in
10+
# via
11+
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
12+
# -r requirements/../../../packages/aws-library/requirements/_base.in
13+
# -r requirements/../../../packages/service-library/requirements/_base.in
1114
aiodebug==2.3.0
1215
# via
1316
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
@@ -54,6 +57,7 @@ arrow==1.3.0
5457
# -r requirements/../../../packages/aws-library/requirements/../../../packages/models-library/requirements/_base.in
5558
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/../../../packages/models-library/requirements/_base.in
5659
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
60+
# -r requirements/../../../packages/aws-library/requirements/_base.in
5761
# -r requirements/../../../packages/models-library/requirements/_base.in
5862
# -r requirements/../../../packages/service-library/requirements/../../../packages/models-library/requirements/_base.in
5963
# -r requirements/../../../packages/service-library/requirements/_base.in
@@ -341,9 +345,11 @@ protobuf==4.25.4
341345
# via
342346
# googleapis-common-protos
343347
# opentelemetry-proto
344-
psutil==5.9.8
348+
psutil==6.0.0
345349
# via
346350
# -c requirements/../../../services/dask-sidecar/requirements/_dask-distributed.txt
351+
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
352+
# -r requirements/../../../packages/service-library/requirements/_base.in
347353
# distributed
348354
pydantic==1.10.15
349355
# via

services/clusters-keeper/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ pluggy==1.5.0
193193
# via pytest
194194
ply==3.11
195195
# via jsonpath-ng
196-
psutil==5.9.8
196+
psutil==6.0.0
197197
# via
198198
# -c requirements/_base.txt
199199
# -r requirements/_test.in

services/dask-sidecar/requirements/_base.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ aio-pika==9.4.1
22
# via -r requirements/../../../packages/service-library/requirements/_base.in
33
aiobotocore==2.13.0
44
# via s3fs
5+
aiocache==0.12.2
6+
# via -r requirements/../../../packages/service-library/requirements/_base.in
57
aiodebug==2.3.0
68
# via -r requirements/../../../packages/service-library/requirements/_base.in
79
aiodocker==0.21.0
@@ -251,8 +253,10 @@ protobuf==4.25.4
251253
# via
252254
# googleapis-common-protos
253255
# opentelemetry-proto
254-
psutil==5.9.8
255-
# via distributed
256+
psutil==6.0.0
257+
# via
258+
# -r requirements/../../../packages/service-library/requirements/_base.in
259+
# distributed
256260
pydantic==1.10.15
257261
# via
258262
# -c requirements/../../../packages/dask-task-models-library/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt

services/dask-sidecar/requirements/_dask-distributed.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ partd==1.4.2
6363
# via
6464
# -c requirements/./_base.txt
6565
# dask
66-
psutil==5.9.8
66+
psutil==6.0.0
6767
# via
6868
# -c requirements/./_base.txt
6969
# distributed

services/datcore-adapter/requirements/_base.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
aio-pika==9.4.1
22
# via -r requirements/../../../packages/service-library/requirements/_base.in
33
aiocache==0.12.2
4-
# via -r requirements/_base.in
4+
# via
5+
# -r requirements/../../../packages/service-library/requirements/_base.in
6+
# -r requirements/_base.in
57
aiodebug==2.3.0
68
# via -r requirements/../../../packages/service-library/requirements/_base.in
79
aiodocker==0.21.0
@@ -229,6 +231,8 @@ protobuf==4.25.4
229231
# via
230232
# googleapis-common-protos
231233
# opentelemetry-proto
234+
psutil==6.0.0
235+
# via -r requirements/../../../packages/service-library/requirements/_base.in
232236
pydantic==1.10.14
233237
# via
234238
# -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt

services/director-v2/requirements/_base.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ aio-pika==9.4.1
55
# -r requirements/_base.in
66
aiocache==0.12.2
77
# via
8+
# -r requirements/../../../packages/service-library/requirements/_base.in
9+
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
810
# -r requirements/../../../packages/simcore-sdk/requirements/_base.in
911
# -r requirements/_base.in
1012
aiodebug==2.3.0
@@ -430,8 +432,10 @@ protobuf==4.25.4
430432
# via
431433
# googleapis-common-protos
432434
# opentelemetry-proto
433-
psutil==5.9.8
435+
psutil==6.0.0
434436
# via
437+
# -r requirements/../../../packages/service-library/requirements/_base.in
438+
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
435439
# -r requirements/../../../services/dask-sidecar/requirements/_dask-distributed.txt
436440
# distributed
437441
psycopg2-binary==2.9.9

services/director-v2/requirements/_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ pluggy==1.5.0
215215
# via pytest
216216
pprintpp==0.4.0
217217
# via pytest-icdiff
218-
psutil==5.9.8
218+
psutil==6.0.0
219219
# via
220220
# -c requirements/_base.txt
221221
# distributed

services/dynamic-scheduler/requirements/_base.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
aio-pika==9.4.1
22
# via -r requirements/../../../packages/service-library/requirements/_base.in
3+
aiocache==0.12.2
4+
# via -r requirements/../../../packages/service-library/requirements/_base.in
35
aiodebug==2.3.0
46
# via -r requirements/../../../packages/service-library/requirements/_base.in
57
aiodocker==0.21.0
@@ -233,6 +235,8 @@ protobuf==4.25.4
233235
# via
234236
# googleapis-common-protos
235237
# opentelemetry-proto
238+
psutil==6.0.0
239+
# via -r requirements/../../../packages/service-library/requirements/_base.in
236240
psycopg2-binary==2.9.9
237241
# via sqlalchemy
238242
pydantic==1.10.15

services/dynamic-sidecar/requirements/_base.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ aio-pika==9.4.1
44
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
55
# -r requirements/_base.in
66
aiocache==0.12.2
7-
# via -r requirements/../../../packages/simcore-sdk/requirements/_base.in
7+
# via
8+
# -r requirements/../../../packages/service-library/requirements/_base.in
9+
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
10+
# -r requirements/../../../packages/simcore-sdk/requirements/_base.in
811
aiodebug==2.3.0
912
# via
1013
# -r requirements/../../../packages/service-library/requirements/_base.in
@@ -316,8 +319,11 @@ protobuf==4.25.4
316319
# via
317320
# googleapis-common-protos
318321
# opentelemetry-proto
319-
psutil==5.9.8
320-
# via -r requirements/_base.in
322+
psutil==6.0.0
323+
# via
324+
# -r requirements/../../../packages/service-library/requirements/_base.in
325+
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
326+
# -r requirements/_base.in
321327
psycopg2-binary==2.9.9
322328
# via
323329
# aiopg

services/efs-guardian/requirements/_base.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ aioboto3==13.1.0
77
aiobotocore==2.13.1
88
# via aioboto3
99
aiocache==0.12.2
10-
# via -r requirements/../../../packages/aws-library/requirements/_base.in
10+
# via
11+
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
12+
# -r requirements/../../../packages/aws-library/requirements/_base.in
13+
# -r requirements/../../../packages/service-library/requirements/_base.in
1114
aiodebug==2.3.0
1215
# via
1316
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
@@ -54,6 +57,7 @@ arrow==1.3.0
5457
# -r requirements/../../../packages/aws-library/requirements/../../../packages/models-library/requirements/_base.in
5558
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/../../../packages/models-library/requirements/_base.in
5659
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
60+
# -r requirements/../../../packages/aws-library/requirements/_base.in
5761
# -r requirements/../../../packages/models-library/requirements/_base.in
5862
# -r requirements/../../../packages/service-library/requirements/../../../packages/models-library/requirements/_base.in
5963
# -r requirements/../../../packages/service-library/requirements/_base.in
@@ -280,6 +284,10 @@ protobuf==4.25.4
280284
# via
281285
# googleapis-common-protos
282286
# opentelemetry-proto
287+
psutil==6.0.0
288+
# via
289+
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
290+
# -r requirements/../../../packages/service-library/requirements/_base.in
283291
pydantic==1.10.15
284292
# via
285293
# -c requirements/../../../packages/aws-library/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt

0 commit comments

Comments
 (0)