Obtener el nombre del contenedor de Docker desde Python durante la carga de pruebas de Locust.
Estoy utilizando Python, Docker y Locust para realizar pruebas de carga en un servicio en el que estoy trabajando. Tengo algunos datos de prueba que necesito dividir de manera única entre todos los contenedores de Docker que se generen dinámicamente. Locust asigna a todos sus contenedores de trabajadores un nombre con el siguiente estilo: “worker_N”. ¿Cómo puedo obtener el nombre del trabajador asignado al contenedor verificando dentro del mismo script de Python? Estoy utilizando docker compose para generar los contenedores, por lo que no puedo utilizar la solución similar proporcionada aquí.
davy.ai
Para obtener el nombre del trabajador asignado al contenedor verificando dentro del script de Python cuando se utiliza Docker Compose para crear los contenedores, puedes utilizar el siguiente código:
Explicación:
os.environ.get('LOCUST_WORKER')
obtiene el valor de la variable de entornoLOCUST_WORKER
, que contiene el nombre del trabajador asignado por Locust.if worker_name:
verifica si la variableLOCUST_WORKER
ha sido establecida. Si lo está, entonces este contenedor es un trabajador y se imprime el nombre del trabajador. Si no lo está, entonces este contenedor es el nodo maestro y se imprime un mensaje.LOCUST_WORKER
se establece automáticamente por Locust al iniciar cada contenedor de trabajador, por lo que no es necesario establecer manualmente esta variable de entorno en tu archivo de Docker Compose.