Size: a a a

2020 February 19

MM

Michael M in Go-go!
Вечер добрый...
нужно внутри хэндлера вебсервера net/http в некоторых случаях отдать файл с бэкенда. Т.е. спроксировать запрос на http-бэкенд. Нашёл вот такое: https://golang.org/pkg/net/http/httputil/#ReverseProxy . Читаю, читаю и не могу понять, как мне осуществить задуманное. просто сделать httputil.NewSingleHostReverseProxy(backendUrl).ServeHTTP(w, r) ?
источник

ВС

Владимир Столяров in Go-go!
Да, но каждый раз создавать этот самый SingleHostReverseProxy незачем, если адрес бэкенда не меняется
источник

ВС

Владимир Столяров in Go-go!
Либо можно расковырять эту функцию и написать Director с собственной логикой
источник

MM

Michael M in Go-go!
спасибо. посмотрел сейчас, как там директор создаётся. легко свой написать по подобию.
источник

RK

Roman Kosiy in Go-go!
Ребят, такой вопрос. Не могу понять в чем проблема. Процесс работает какое-то время. Впадает в вис.
добавили профайлер чтобы понять где может падать, но и он не реагирует, не отдает респонс.

при аборте процесса вываливает стектрейса и  вконце такое
goroutine 335549 [semacquire, 197 minutes]:
sync.runtime_SemacquireMutex(0x167e99c, 0x0)
 /home/jenkins/tools/org.jenkinsci.plugins.golang.GolangInstallation/Go_1.11.4/src/runtime/sema.go:71 +0x3d

кто-то сталкивался с таким?
источник

DP

Daniel Podolsky in Go-go!
где-то у вас дедлок внутри
источник

RK

Roman Kosiy in Go-go!
спасибо за ответ. а разве при дедлоке не должна паника выбрасываться?
источник

DP

Daniel Podolsky in Go-go!
только если вы все свои горутины заблочили
источник

DP

Daniel Podolsky in Go-go!
если хоть одна осталась - паники не будет
источник

RK

Roman Kosiy in Go-go!
точно, спасибо.
и профайлер поэтому виснет? из-за одного дедлока?
источник

DP

Daniel Podolsky in Go-go!
а как вы профайлер используете?
источник

RK

Roman Kosiy in Go-go!
Daniel Podolsky
а как вы профайлер используете?
импортим в мэйне  _ "net/http/pprof"
а вот конкретно какая комманда юзалась и за сколько секунд - не скажу, коллеги использовали
подозреваю, что  что-то типа
go tool pprof http://localhost:8080/debug/pprof/profile?seconds=5
источник

DP

Daniel Podolsky in Go-go!
ну так достаточно http сервер заблочить (акцепт ему, например), и никакого профайлинга
источник

G

Ghost in Go-go!
Кстати, в тему, может кому интересно будет про профайлер, сам вчера про него перечитывал
https://habr.com/ru/company/badoo/blog/324682/
источник

ПК

Паша Калугин in Go-go!
Есть какой-нибудь хороший хелп по темплейтам в го?
источник

RK

Roman Kosiy in Go-go!
Daniel Podolsky
ну так достаточно http сервер заблочить (акцепт ему, например), и никакого профайлинга
вы имеете ввиду снаружи сервиса?
источник

RK

Roman Kosiy in Go-go!
Паша Калугин
Есть какой-нибудь хороший хелп по темплейтам в го?
я как-то давно находил статьи на медиуме неплохие, там и про использование функций из го файла. достаточно помогли
источник

ЛА

Локоть Анатолий in Go-go!
Паша Калугин
Есть какой-нибудь хороший хелп по темплейтам в го?
источник

DP

Daniel Podolsky in Go-go!
Roman Kosiy
вы имеете ввиду снаружи сервиса?
внутри
источник

RK

Roman Kosiy in Go-go!
Daniel Podolsky
внутри
если честно, то не очень представляю как это сделать даже)
как этого можно добить?оО
источник