Coverage for /usr/local/lib/python3.12/site-packages/prefect/server/utilities/messaging/_consumer_names.py: 100%
8 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 02:04 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 02:04 +0000
1import os
2import socket
3import uuid
6def generate_unique_consumer_name(group_name: str) -> str:
7 """
8 Generates a unique consumer name for a given group.
10 The name is composed of the group name, hostname, process ID, and a short UUID
11 to ensure uniqueness across different machines and processes.
13 Args:
14 group_name: The logical group name for the consumer.
16 Returns:
17 A unique string to be used as the consumer name.
18 """
19 hostname = socket.gethostname()
20 pid = os.getpid()
21 short_uuid = uuid.uuid4().hex[:8]
22 return f"{group_name}-{hostname}-{pid}-{short_uuid}"