Запускать Python ZMQ Workers одновременно - PullRequest
0 голосов
/ 04 июля 2018

Я довольно новичок в Python и в распределенных системах. Я использую конфигурацию ZeroMQ Venitlator-Worker-Sink: Вентилятор - Рабочий - Раковина

В настоящее время все работает нормально, моя проблема в том, что мне нужно много работников. Каждый работник делает ту же работу. На данный момент каждый работник работает в своем собственном файле Python и имеет собственную консоль вывода. Если у меня есть изменения в программе, я должен изменить (или скопировать) код в каждом файле. Следующая проблема заключается в том, что мне нужно запускать / запускать каждый файл, так что довольно неприятно запускать 12 файлов. Каковы здесь лучшие решения? Темы, процессы? Я должен сказать, что цель состоит в том, чтобы запустить каждого работника на разных малиновых пи.

1 Ответ

0 голосов
/ 16 июля 2018

Похоже, это больше проблема для разработчиков / разработчиков. У вас есть рабочий код, который предположительно представляет собой единую кодовую базу, на нескольких распределенных машинах или экземплярах. Вы вносите изменения в эту кодовую базу, и вам нужно, чтобы полученный код распространялся на каждый экземпляр, а затем процесс перезапускался.

Для начала вы должны как минимум использовать систему контроля версий, такую ​​как Git. С такой системой вы можете, по крайней мере, перейти к каждому экземпляру и получить самый последний коммит и перезапустить. Кроме того, вы можете настроить систему, подобную Ansible, на выход и запуск этих действий для каждого экземпляра, инициируемого одной командой.

Существует целый ряд других инструментов, стратегий и услуг, которые помогут вам делать эти вещи множеством различных способов. Использование Docker для создания отдельного рабочего контейнера, а затем для его распространения и запуска в различных экземплярах, возможно, является одним из наиболее популярных способов сделать то, что вам нужно, но для этого потребуется более фундаментальное изменение вашей инфраструктуры.

Надеюсь, это поможет.

...