diff --git a/src/ansys/meshing/prime/internals/launcher.py b/src/ansys/meshing/prime/internals/launcher.py index 5656b9a3fc..15c54a8430 100644 --- a/src/ansys/meshing/prime/internals/launcher.py +++ b/src/ansys/meshing/prime/internals/launcher.py @@ -226,8 +226,9 @@ def launch_prime( if ip == defaults.ip(): port = utils.get_available_local_port(port) - if 'PYPRIMEMESH_LAUNCH_CONTAINER' in os.environ: - container_name = 'ansys-prime-server' + launch_container = bool(int(os.environ.get('PYPRIMEMESH_LAUNCH_CONTAINER', '0'))) + if launch_container: + container_name = utils.make_unique_container_name('ansys-prime-server') utils.launch_prime_github_container(port=port, name=container_name, version=version) config.set_using_container(True) client = Client(port=port, timeout=timeout) diff --git a/src/ansys/meshing/prime/internals/utils.py b/src/ansys/meshing/prime/internals/utils.py index eac62a7b2e..b1ad6f9e1b 100644 --- a/src/ansys/meshing/prime/internals/utils.py +++ b/src/ansys/meshing/prime/internals/utils.py @@ -10,6 +10,25 @@ import ansys.meshing.prime.internals.defaults as defaults _LOCAL_PORTS = [] +_PRIME_CONTAINER_COUNT = 0 + + +def make_unique_container_name(name: str): + """Make a unique container name. + + Parameters + ---------- + name : str + Original name prefix that is provided. + + Returns + ------- + str + Unique name with a numeric integer added as suffix. + """ + global _PRIME_CONTAINER_COUNT + _PRIME_CONTAINER_COUNT = _PRIME_CONTAINER_COUNT + 1 + return f'{name}-{_PRIME_CONTAINER_COUNT}' def to_camel_case(snake_str):