Как выставить несколько docker-compose конвейеров на доступных портах?

Я изменил ответ sussudio. Теперь функция возвращает: (returncode, stdout, stderr, timeout) - stdout и stderr декодируется в строку utf-8

def kill_proc(proc, timeout):
  timeout["value"] = True
  proc.kill()

def run(cmd, timeout_sec):
  proc = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  timeout = {"value": False}
  timer = Timer(timeout_sec, kill_proc, [proc, timeout])
  timer.start()
  stdout, stderr = proc.communicate()
  timer.cancel()
  return proc.returncode, stdout.decode("utf-8"), stderr.decode("utf-8"), timeout["value"]
0
задан cyberbeast 15 January 2019 в 22:14
поделиться

1 ответ

Если у вас есть Eureka / Zuul, я думаю, что - масштаб будет лучшим вариантом, так как он будет распределять нагрузку в циклическом порядке по вашим запросам, а порт, на котором он работает, не имеет значения.

Если вы хотите указать номер порта, то, я думаю, вам придется вручную установить номер порта expose или написать сценарий решения, ищущего следующий доступный номер порта в последовательности. Я думаю, что это дерьмовый подход, однако.

0
ответ дан MikeBFromPDX 15 January 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: