Я использую Net-ssh
для запуска удаленного сценария Python. Кажется, что скрипт Ruby висит и никогда не заканчивается, когда скрипт Python занимает много времени (около 20 минут).Net-ssh session timeout
Я протестировал скрипт, запустив его напрямую и завершив его без ошибок. Кроме того, все работает нормально, когда скрипт выполняется за более короткий промежуток времени.
Это отрывок кода я использую:
(0..(@number_of_vms - 1)).each_with_index do |vm, i|
threads << Thread.new do
Net::SSH.start('ip-address-vm', user, options = ...) do |session|
cmd = 'python python_script.py'
output = session.exec!(cmd)
end
end
end
threads.each {|thr| thr.join }
Может ли это быть связано с какой-то тайм-аут для SSH сессии?
EDIT: Я проверил, что сценарий успешно завершен на удаленном сервере.
Does этот сценарий python записывает любой вывод на стандартный вывод или стандартную ошибку? Где этот выход идет, когда вы запускаете скрипт из ruby? – Kenster
Да, да. Он присваивается 'output'. Кроме того, у меня есть несколько файлов журнала. – Rojj