Выполнение команды saltstack с использованием python занимает много времени

Я пытался выполнить эту команду соляного стека cmd = "/usr/local/bin/salt -L 'target' cp.get_dir salt://allapps/V001 /u02/tomcat-8.0.24/8080/webapps/" output = os.popen(cmd).readlines() с помощью python. Я запустил 8 потоков параллельно, чтобы выполнить эту команду, но каждый поток требует около 5 минут для завершения. Но я запускаю эту команду в автономном терминале или консоли Python, мне требуется около 2-3 секунд. Сначала я подумал, что это из-за того, что readlines() потребляет много памяти, но все еще стоит на 5 минут больше, чтобы закончить, когда я удалил readlines() только для запуска команды оболочки с os.popen(). Я понятия не имею, почему выполнение этой команды занимает так много времени, какие-либо решения для этого? Спасибо, ребята

Я обнаружил, что для выполнения output = os.popen("/usr/local/bin/salt -L 'target' cp.get_dir salt://allapps/V001 /u02/tomcat-8.0.24/8080/webapps/"), кроме output = os.popen(cmd), требуется около 5 секунд. Переменная cmd точно такая же, как и "/usr/local/bin/salt -L 'target' cp.get_dir salt://allapps/V001 /u02/tomcat-8.0.24/8080/webapps/". Почему такая большая разница?


person J.Wang    schedule 29.10.2015    source источник


Ответы (1)


Я не уверен, почему эта команда занимает так много времени. Рассматривали ли вы возможность использования Python API Salt? https://docs.saltstack.com/en/latest/ref/clients/index.html#python-api

person Utah_Dave    schedule 29.10.2015
comment
Я попробовал API-интерфейс Salt python, но для запуска этой команды все еще зависает около 5 минут. - person J.Wang; 30.10.2015