HandleFunc), который дергает какую-то баш команду ( out, err := exec.Command("/bin/bash", "-c", aa.Command).Output() ). никаких каналов, синхронизации и еще чего бы то не было. при вызове некоторых баш команд вроде "sleep 30 && date" (ssh foo 'sleep 30 && hostname') и других запускается команда один раз (ps aux| grep cmd) как и должно быть. при запуске же, к примеру других команд: дернуть puppet или ансибл все зависит от того насколько быстро команда это будет выполнена. чем дольше тем больше экземпляров команды будет запущено (логирование показывает что фукнция, которая дергает exec.command вызывается раз. dev tools хрома показывает что endpoint дергается один раз. курлом тоже пробовал дергать). к примеру исполняется скрипт 2 минут и количетсво запущенных команд может доходит до сотни. как только результат отбражается, то процессы перестают спавнится и потихоньку дорабатывают. есть этому какое-нибудь объяснение/куда копать? спасибо
Не уверен, но вероятно, вам нужен context который из хендлера будут передавать в Command
а запрос новый не приходит. я дергаю только один раз. откуда могут прийти новые запросы? ps. ну и вопрос разбил на части
Со стороны го все выглядит нормально, ищите ошибку в скрипте, цикл какой или ещё что
при запуске тех же команд из шела все прекрасно работает и "не множится"
значит вопрос не для го чата...)
а для какого? я же из гошечки дергаю. писал бы на джаве, тогда пошел бы в другой чат.
Это вопрос по логике вашей программы. Чтобы ответить на этот вопрос, надо код смотреть ведь
а чем вы запросы делаете? может с сервера ответ не приходит, на что клиент делает ретрай (hedged requests) без кода только гадать
Обсуждают сегодня