удаленная длительная команда
У меня есть простой скрипт bash, который делает только "sleep 3600" на удаленном хосте (Amazon EC2), и я использую fabric, чтобы вызвать его через fabric.оперативный.run (я не ставил никаких env.тайм-аут или env.command_timeout).
Если удаленный сценарий bash спит в течение 3600 секунд, fabric не смог вернуться после выполнения сценария bash. Я распечатал трассировку стека, и она продолжала ждать.channel.exits_status_ready()
(https://github.com/fabric/fabric/blob/master/fabric/operations.py строка: 794) даже если сценарий уже вернулся.
Это происходит только для длительно работающего процесса. Я попытался заставить bash script спать в течение 120 секунд, и это сработало отлично.
Я дважды проверил открытые соединения с помощью netstat, и сеанс ssh, открытый fabric, все еще был жив.
Нужна помощь:) есть идеи, почему это происходит?