Alexey
cmd.Stdout ?
Это если подставить потом cmd.Stdout в reader
Илья
хм
Илья
см что-нибудь такое pr, pw := io.Pipe() tr := io.TeeReader(u, pw)
Илья
даже pipe, наверное, хватит
Alexey
даже pipe, наверное, хватит
не до конца понял... куда это встроить в том коде, что я прислал?
Илья
ну, я не вдавался в подробности, но, думаю, горутина, которая занимается транскодингом может получать pipe, писать в pipewriter, а другая горутина pipereader отправить в telegramapi
Илья
см https://garbagecollected.org/2015/05/30/io-with-go-io-pipe/
Илья
я понятно выражаюсь? :)
Aleksandr
Alexey
Alexey
но я выше писал, что код по ffmpeg, что я показал сейчас сохраняет на диске output.mp4, тем саммым показывая, что передача resp.Body в пайп работает.
Alexey
а resp.Body не закроется раньше, чем кодирование закончится?
т.е. проблем с тем чтобы передать что-то в ffmpeg нет, есть неясность как забрать результат
Мерль
https://medium.com/@cep21/preemptive-interface-anti-pattern-in-go-54c18ac0668a
Alexey
я понятно выражаюсь? :)
посмотрел, понял пока на до конца... не понятно как это поможет забрать результат обработки ffmpeg
Мерль
т.е. проблем с тем чтобы передать что-то в ffmpeg нет, есть неясность как забрать результат
При создании Command передай структуре буфер RTFM https://golang.org/src/os/exec/exec.go?s=1032:3774#L33
Alexey
а resp.Body не закроется раньше, чем кодирование закончится?
resp.Body - это входной параметр, он после выполнения ffmpeg больге не нужен. я хотел получить результат в другую переменную...
Aleksandr
resp.Body.Close() в самом конце делается
у него таймаут еще есть - закроется раньше если не успеешь его вычитать.
Мерль
При создании Command передай структуре буфер RTFM https://golang.org/src/os/exec/exec.go?s=1032:3774#L33
buf := &bytes.Buffer{} errBuf := &bytes.Buffer{} ... cmd.Stdin = resp.Body cmd.Stdout = buf cmd.Stderr = errBuf
Мерль
И обязательно нужно проверять на ошибку
Мерль
Go дайджест. События, статьи, интересные проекты из мира Go (1 — 12 мая 2017) Всем привет! В этом дайджесте представлены лучшие статьи за прошедшую неделю, а также новости, события и проекты, заслуживающие ваше внимание. Новости, События — Gobot 1.5 EN — Релиз 3.1.0 веб-фреймворка echo EN ... https://tehnojam.pro/category/development/go-dajdzhest-sobytija-stati-interesnye-proekty-iz-mira-go-1--12-maja-2017.html
Мерль
Мерль
http://golangshow.com/online/
igor
http://golangshow.com/online/
это можно в канал форварднуть?
Мерль
это можно в канал форварднуть?
Автор не я, но думаю можно
Мерль
Иначе было бы странно
igor
😁 это да
Илья
https://golang.org/pkg/os/exec/#Cmd.StdoutPipe
Илья
но, замечание о таймауте тоже стоит иметь ввиду, если что-то на вашей стороне будет тупить, соединение зарубят и вы получите что-то странное
Илья
это где такие тествоые задания, мне интересно, один аудиофайлы в телеграм заливает, теперь вот видео :)
Konstantin
Ребят, на убунте (xubuntu если точнее) установил golang-go, это версия 1.7. Накатил еще golang-1.8-go, а как переключиться на версию 1.8 теперь? а то команда go все еще к версии 1.7 привязана
Alex
подмени бинарник в /usr/bin
Илья
или поиграйся с PATH :)
Илья
подменять не стоит
Alex
или лучше симлинк создай туда где версия которая нужна лежит
Мерль
Alex
почему не стоит?
Konstantin
Неужели нет какого то встроенного способа? Зачем же тогда пакет golang-1.8-go вообще? При его установке то исполняемого файла go не появилось вообще
Alex
что занчит встроенного?
Alex
бинарник естественно есть
Илья
эм, а что за пакеты такие?
Илья
:O
Илья
из какой репы?
Илья
у авторов пакетов, наверное, стоит уточнить, почему они ставят свои файлы хрен пойми куда
Alex
Хм, ты ставишь 2 версии одного приложения, кто за тебя должен думать какая дефолтная?
Alex
Всё правильно что симлинк не меняется на новую, это было бы неожиданно
Мерль
hajimehoshi/oto: A low-level library to play sound https://github.com/hajimehoshi/oto
Konstantin
из какой репы?
Стандартная убунтовская
Konstantin
Всё правильно что симлинк не меняется на новую, это было бы неожиданно
Но у, например, джавы есть отдельная тулза для выставления нужной версии
Илья
ну, если хочется чего-то такого
Илья
то можно попробовать https://github.com/moovweb/gvm
Илья
я не пользовал, не знаю
Илья
я себе собирал из тарбола пакет
Илья
и скриптик есть https://gist.github.com/jniltinho/8758e15a9ef80a189fce
Alex
Да там тоже енв вариаблы подменить руками не сложнее чем тут, а так в жава мире про все наверное Тулуза есть, тока они стартуют 15 минут и под каждую отдельный снова нужен
Илья
я думаю, соорудить такое вполне можно, GOPATH GOROOT поменял и все
Mikalai
А там же в убунтe есть что-то типа update-alternatives
Nix
Подскажите библиотеку для asterisk , agi
Mikalai
Она пашет с го?
Что-то мешает проверить ?
Konstantin
Что-то мешает проверить ?
Слабые знания по теме.
Andrei
Слабые знания по теме.
А зачем такие сложности, почему не использовать контейнеры с нужной версией?
MXLTN
друзья, есть веб апликейшн которые лопатит кучу данных, есть необходимость логировать, хочу испльзовать какой-то саас для логов что бы можно было искать по параметрам и анализировать потом, кто что юзает из такого/
MXLTN
?
Alex
друзья, есть веб апликейшн которые лопатит кучу данных, есть необходимость логировать, хочу испльзовать какой-то саас для логов что бы можно было искать по параметрам и анализировать потом, кто что юзает из такого/
elk стек относительно прост в развертывании, только вместо logstash лучше filebeat, собственно в виде saas часто предлагают торчачищй api elastica, еще есть splunk, но я его сам руками не трогал
Konstantin
Эм, docker же
Скрип пишется и запускается на локальной машине, причем тут докер то?
Alex
ты до сих пор не запустил чтоли 1.8 ? та мдела на 5 минут
Andrei
Хорошо, кейсы у всех разные, но вопрос очевиден: а зачем при написании на машине разработчика 10 версий go?!
Alex
да хоть все - проблем же никаких
Andrei
Если протестировать сборку на другой версии: для этого делается скрипт/ci и сборка под разные версии
Dmitriy / დიმიტრი
Есть какие-то рекомендации по тому когда использовать указатель, а когда копировать объект? Правильно ли я делаю, что избегаю излишнего копирования и возвращаю из функций указатель?
Konstantin
Хорошо, кейсы у всех разные, но вопрос очевиден: а зачем при написании на машине разработчика 10 версий go?!
Еще раз - я установил golang-go из стандартной репы убунты, это оказалась 1.7. Установил golang-1.8-go и спрашиваю как мне поменять версию на нее, ибо утилита сама go все еще версии 1.7
Alex
Еще раз - я установил golang-go из стандартной репы убунты, это оказалась 1.7. Установил golang-1.8-go и спрашиваю как мне поменять версию на нее, ибо утилита сама go все еще версии 1.7
утилита go это всего лишь /usr/bin/go переопредели этот симлинк на то место куда у тебя установилась 1.8 и команда go станет вызывать версию 1.8
Dmitriy / დიმიტრი