Artem
“от шторма"?
От жетбрейнс
JBáruch
сук.
Aleksey
Люблю такое. "Чуваки, как в А сделать Б?" "О, в Ц можно Б!". За что вы так? Я знаю что где-то так можно, потому и спросил как это сделать в "А" :/
Aleksey
проверь, что у тебя обновлены тулзы
поставил 2 дня назад начисто
Kirill
и проверь, что ты не забыл вообще тесты запустить)
aadz
Люблю такое. "Чуваки, как в А сделать Б?" "О, в Ц можно Б!". За что вы так? Я знаю что где-то так можно, потому и спросил как это сделать в "А" :/
Потому что ты не в школу пришел и не на платные курсы. Не хочешь слушать, что люди по этому поводу думают - не спрашивай.
Aleksey
и проверь, что ты не забыл вообще тесты запустить)
Сохранил, запустил. Только выключить и включить помогает
Aleksey
выключить и включить... что?
подсветку покрытого
aadz
По поводу — хочу. Не по поводу — не хочу :)
Так не по поводу и не слушай. :) Ты же не слушаешь, о чем в метро тебе бабуленьки говорят иногда. :)
Aleksey
Так не по поводу и не слушай. :) Ты же не слушаешь, о чем в метро тебе бабуленьки говорят иногда. :)
мммм... наглазники с шумодавом для флудерский чатиков... хотеть! куда нести деньги? :))
Kirill
Потому что ты не в школу пришел и не на платные курсы. Не хочешь слушать, что люди по этому поводу думают - не спрашивай.
адекватно человек сказал. тут классика чата — как сделать A в B? спасибо, хоть iris не предлагали
aadz
Ну, в некоторых чатах без наглазников вобще нельзя...
Aleksey
и проверь, что ты не забыл вообще тесты запустить)
ЕМНИП, в атоме go-plus без явного запуска тестов подсвечивает покрытое. Да лень проверять, опять атом ставить...
aadz
тем более, есть западные чаты - там как-то более по делу всегда
Aleksey
btw, хочу чтоб по нажатию на cmd+s автоматически подсвечивалось новое покрытие. Без запуска мануального запуска и вот этого всего.
Aleksey
Есть способы добиться этого в вскод?
Kirill
ЕМНИП, в атоме go-plus без явного запуска тестов подсвечивает покрытое. Да лень проверять, опять атом ставить...
как, по-твоему, он бы coverage тебе посчитал, если бы я unsafe'ом вызывал функцию?)
Aleksey
как, по-твоему, он бы coverage тебе посчитал, если бы я unsafe'ом вызывал функцию?)
я не хочу знать как это работает. Я хочу волшебный блекбокс, который работает "как раньше"
Kirill
@lexfrei а зочем это? https://github.com/lexfrei/lolnet
Kirill
Чтоб было :)
я по описанию не вкурил, что происходит и зачем 😄
саша
Так численные методы же, не?
🏁Александр
хехе
🏁Александр
я помню как писал свой криптоалгоритм на пхп 🙂
🏁Александр
получилось что-то на тему "Шифра Цезаря"
Dair
Всем привет, посоветуйте, пожалуйста, литературу или любую другую информацию для изучения разработки микросервисов на Go
aadz
И кстати, не только восторженные лекции. Есть и где довольно осмысленно эти микросервисы рассматривались, с плюсами и минусами
aadz
По поводу — хочу. Не по поводу — не хочу :)
Тебя в любом нормальном чате раньше забанят, чем ты всех постороишь отвечать тебе так, как ты хочешь :)
aadz
И вобще, за "я спросил, а мне сказали не то" - банят обычно. Других мест полно! Иди спроси там
YᑌᖇIY
Всем привет, посоветуйте, пожалуйста, литературу или любую другую информацию для изучения разработки микросервисов на Go
Книга на Packt Publishing про микросервисы на го 2017 — 9$ цена ещё три дня. https://www.packtpub.com/application-development/building-microservices-go На рутреккере есть 2016 года Cloud Native Go: Building Web Applications and Microservices for the Cloud with Go and React Про качество, ценность книг ничего не скажу, не читал.
Александр
Дамир
Всем привет! Если не сложно можете ссылки отправить
Дамир
В ютюбе есть несколько лекций про это с митапов. Поищи. Не литература, но все же
Дамир
И кстати, не только восторженные лекции. Есть и где довольно осмысленно эти микросервисы рассматривались, с плюсами и минусами
aadz
Всем привет! Если не сложно можете ссылки отправить
Дамирчик, дорогой мой! Я устал и мне лень. Прости, пожалуйста.
aadz
Не за что. Обращайся! :)
heavycharged
ребятки, как реализовать такой паттерн, есть задачи, они обрабатывают данные, и информируют о своем выполнении хаб, в хабе висят клиенты по WebSocket и им рассылаются сообщения о прогрессе задач. сначала сделал по тикеру, хаб опрашивает этот пулл задач раз в 500мс., собирает данные - и шлет на клиент. но если задач нет (а их чаще нет, чем они есть), то происходит бессмысленная работа. решил сделать так, что задачи сами оповещают хаб клиентов о своем прогрессе по каналу, но другой вопрос, если задача "упала", а такое вполне возможно, то последнее сообщение улетевшее на клиент будет о том, что задача жива, и получается что клиент никак не узнает о завершении задачи. как это лучше реализовать, кто-то знает?
aadz
есть задачи, они обрабатывают данные, и информируют о своем выполнении хаб, в хабе висят клиенты
aadz
ужос кокой. в хабе висят клиенты... :)
heavycharged
ок, представь себе два юзера открыли мой сайт, и у них есть внизу прилипший блок отображающий полоску, которая заполняется - это прогресс задач. данные о выполнении задач они получают по WebSocket.
heavycharged
Таймаут к таскам пришурупить можно?
таймаут чего именно? опрашивать задачу не сдохла ли она, и если сдохла - то отправить что "она всё"?
aadz
ну, и что?
aadz
ты не пробовал в комнате web-мастеров спросить?
heavycharged
ну, и что?
есть два подхода о которых я знаю: опрашиваем раннеры, либо раннеры оповещают сами о прогрессе.
aadz
ну, попробуй, запости такую простыню ребятам из PHP :)
heavycharged
я описал с какими трудностями столкнулся.
heavycharged
окей, необязательно отвечать если сказать нечего
koorkoole
таймаут чего именно? опрашивать задачу не сдохла ли она, и если сдохла - то отправить что "она всё"?
Пусть воркер при завершении (он ж не может с паникой вывалиться) закрывает канал. Хаб слушает селектом канал воркера и канал time.After, в зависимости че первее наступит то и делает.
aadz
Блин, но финальный вопрос - прекрасен: как это лучше реализовать, кто-то знает?
aadz
я прочитал весь текст, не слишком много там понял, но финальный вопрос меня просто добил :)
aadz
Вадим, не пиши так долго! Пиши проще!
Alexander
я прочитал весь текст, не слишком много там понял, но финальный вопрос меня просто добил :)
Мне кажется вам стоит завести блог. Или твиттор. Или инстаграмм. Обычно туда пишут свои мысли, которые никому другому не интересны. От вас очень много бессмысленно флуда. Человек задал вопрос, на который ответить вы не можете (не хотите) и вы нафлудили десяток бессмысленных, не несущих нагрузки сообщений. Если не сложно, то хотя бы схлопывайте ваши мысли в одно сообщение
koorkoole
Вадим, не пиши так долго! Пиши проще!
Не жди так долго сообщения. Будь проще. И да, можно схлопывать флуд в /dev/null
heavycharged
Пусть воркер при завершении (он ж не может с паникой вывалиться) закрывает канал. Хаб слушает селектом канал воркера и канал time.After, в зависимости че первее наступит то и делает.
Окай, спасибо. Надо сам хаб перепилить, и как-то регистрировать воркеры в нем. И на каждого воркера использовать горутину наблюдающий за прогрессом, либо если задача не отвечает - сообщать что закончилось. Там ещё есть проблема с тем, что сами задачи запускаются и из CLI по крону отдельным приложением, т.е. задачи должны сами уведомить хаб о своем появлении. Короче спроектировать это надо как-то толково. Куча нюансов. Ладно спасибо, пойду обмозгую.
YᑌᖇIY
@golanglibrary
спасибо, подписался
Alexander
ребятки, как реализовать такой паттерн, есть задачи, они обрабатывают данные, и информируют о своем выполнении хаб, в хабе висят клиенты по WebSocket и им рассылаются сообщения о прогрессе задач. сначала сделал по тикеру, хаб опрашивает этот пулл задач раз в 500мс., собирает данные - и шлет на клиент. но если задач нет (а их чаще нет, чем они есть), то происходит бессмысленная работа. решил сделать так, что задачи сами оповещают хаб клиентов о своем прогрессе по каналу, но другой вопрос, если задача "упала", а такое вполне возможно, то последнее сообщение улетевшее на клиент будет о том, что задача жива, и получается что клиент никак не узнает о завершении задачи. как это лучше реализовать, кто-то знает?
Или попробуйте опрашивать о статусе через Лонг-поллинг, возможно снизится нагрузка. Если хотите решить задачу вторым способом - пускайте херт-бит сигналы которые пингуют задачу. И настройте полиси - не ответил на три-пять херт-битов подряд - задача считается мертвой
heavycharged
Я думал может какой-то паттерн есть под это дело, ведь проблема уже наверняка решена и объезжана, и вопросы разделения обязанностей и ответственности уже тоже известны.
aadz
это вы о Go тут флудите такими интересными мыслями?
Alexander
Я думал может какой-то паттерн есть под это дело, ведь проблема уже наверняка решена и объезжана, и вопросы разделения обязанностей и ответственности уже тоже известны.
Ну в целом практика пускать херт-биты это как раз стандартный паттерн. В куче распределенных систем используется для понимания живая нода или нет.
heavycharged
Из кли не обязательно запускать прям полноценное приложение. Можете при запуске из кли, искать текущий запущенный демон (пайп например в фс искатт по фиксированному пути) и в него пихать таск
Оно так и работает, висит один жирный процесс, а CLI бинарник это просто обёртка которая говорит жирному объекту чтоб тот взял задачу в работу.
heavycharged
Может тогда и делать ничего не надо? :)
Надо, хочу разобраться с этим вопросом т.к. предстоит поработать с такой штукой.
heavycharged
Получать подтверждение о получении сообщения.
Это для чего? У нас же раннеры оповещают хаб.