Товарищи, подскажите пожалуйста по такому вопросу: использую питон для автоматизации и упрощения администрирования linux-серверов и тут возник вопрос - каким образом можно выполнять команды в несколько потоков?
Допустим надо выполнить команду на нескольких серверах, моих знаний хватает что бы записать все сервера в список и циклом пройтись по нему выполняя поочерёдно команду на каждой машине, что естественно в несколько раз дольше, чем выполнение команды одновременно на всех машинах. Мне просто не хватает знаний - каким образом для этого необходимо содержать список серверов и каким образом в этом случае можно на каждом из них запустить команду. Пока даже не смог толком сформулировать вопрос кратко, что бы задать его гуглу. Подскажите пожалуйста.
Если именно хочется написать с нуля:
1) multiprocessing
2) subprocess
3) асинхронное программирование, лично мне нравится gevent
Если нужно решить задачу - лучше использовать готовые:
1) fabric
2) ansible
3) минутка самопиара: factory - мой клон fabric на gevent'е (в процессе активной разработки, но стараюсь не ломать обратную совместимость...)