Когда Kubernetes client-go Remotecommand Stream заканчивается?
Я использую эту команду Remote здесь https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108 чтобы выполнить команду в модуле и передать результат в io.Writer
, Как указано в приведенной выше команде, функция в ссылке поток завершает только при отключении клиента или сервера. Поскольку в конфигурацию потока включена только одна команда, почему она не закрывается при выходе из команды? Как я могу узнать, когда команда закончила?
В частности, я передаю результат tar -cf - ...
клиенту и хотите знать, когда он закончится.
1 ответ
Я заметил, что функция Stream работает синхронно и блокируется, пока удаленная команда не завершится. Добавление таймаута в одну секунду после вызова writer.Close()
предотвратил выход из программы, прежде чем я смог обработать полученный архив tar.