Любая точка, чтобы использовать greenthreads, если у вас есть одна функция блокировки
Зеленые потоки в Python имеют совместную многозадачность для завершения работы. Должны ли они использоваться для следующего сценария, потому что они не будут передавать / передавать управление другим потокам для него.
Сценарий:
Функция блокировки имеет только одну команду: длительный запуск SSH к другой машине. Таким образом, даже если у вас есть несколько зеленых потоков, также возможно, что несколько SSH-соединений даже не откроются, так как первый поток не уступает следующему для запуска соединения.
Там будет установка через этот SSH на машине
2 ответа
Запуск SSH с использованием paramiko
или другая библиотека Python является сокетом IO, используя subprocess
также является файловым дескриптором IO, в обоих случаях он будет передавать управление другим потокам.
Вам нужно использовать eventlet.monkey_patch
или же eventlet.green.subprocess
чтобы сделать этот контроль выхода SSH.
Вам не нужны зеленые потоки / потоки ОС в простой программе, подобной этой:
import os
os.system('ssh host command')
Ну, это зависит от того, может ли ваша блокирующая функция использовать зеленый (не блокирующий) вызов ssh. Есть "зеленая" библиотека, которая также является кабиной ssh https://pypi.python.org/pypi/telnetsrv/0.4