Nik
Народ, если мне нужен SortedSet или просто очередь внутри приложении, есть чтонить стандартное? (пока пытаюсь понять, что происходит внутри container/heap)
Daniel
очередь? это не канал ли буферизованный?
a set - нету, надо колхозить свою имплементацию на map
Nik
вот я тоже думаю сбоку в сторону буферезированного коанала. думаю, не напорюсь ли я на блокировку подороге
Nik
Колходжить над map - плохо, потому что оно будет медленно
Nik
(вообще не понимаю, почему есть только HashMap, а остальное лесом выкинули)
Daniel
naim
Коллеги, подскажите платный онлайн курс для advanced уровня админов по тематике DevOps/GO . Спасибо
Daniel
Nik
это кто сказал?
ну например, у меня сортедмап, с интами. и я хочу флашнуть все что младше определенного числа. На хешмапе - это куча фуллсканов
Zver
Nik
Daniel
Nik
это чуть лучше чем. ясебе представлял
Nik
но все равно страшно
Aleksey
Нужно это дело забенчмаркать
Уже проходили:
https://github.com/Supme/gonder/blob/master/api/recipients.go#L541
Тут список в тыщ 50 строк с параметрами, без подготовки запросов грузит минут 20, с подготовкой секунд 15
Мерль
Daniel
Vladimir
что угодно
Ну вот дальше спекуляции на эту тему
Daniel
Daniel
а! я неоднократно пробовал показывать. не понимают-с. дикари-с.
Aleksey
Aleksey
Первая версия
Michael
В het/http есть функция плавного завершения https://golang.org/pkg/net/http/#Server.Shutdown . Как бы предполагается, что мы хотим закончить обслуживать все имеющиеся соединения и только потом выйти. Но вот вопрос: как при этом запустить другой процесс, который бы принимал новые соединения?
Есть ли либы, позволяющие запускаться на том же порту новому процессу, а старому ещё долго (часы) продолжать обслуживать старые соединения?
Илья
так у вас транзакции не было
Илья
😮
Anonymous
Andrey
Aleksey
Andrey
> Есть ли либы, позволяющие запускаться на том же порту новому процессу, а старому ещё долго (часы) продолжать обслуживать старые соединения?
такого нет
Anonymous
Илья
Andrey
Michael
там сокеты по их дескриптору передаются наверное.
Daniel
а вот скажите - как вы собираетесь graceful утилизировать в век keepalive
Michael
Daniel
так не закроется же соединение никогда
Michael
Вообще-то они закрываются.
Daniel
откуда ты знаешь?
Michael
проверял 😊
Daniel
я вот не проверял, но письма от страдальцев, у которых на reload nginx висит часами, читал
Michael
часами != никогда.
Daniel
по мне, так часами === никогда
Andrey
за время жизни вселенной точно закроется
Michael
при релоаде nginx-у SIGHUP посылается и всё. так что управление возвращается в консоль, если что.
Daniel
спасибо, кэп
Daniel
но от этого только хуже
Michael
В реальности это юзеры, которые активно использую сайт. Как уйдут, так соединение и закроется.
Sergei
Michael
Daniel
Daniel
а что именно плохо?
ты реально понять не можешь, с хера ли новая конфигурация не применилась
Michael
ну прибивай воркеров через час.
Daniel
почему не сразу?
Michael
сразу плохо: может прилететь пол страницы юзеру.
Daniel
и так может, только ты еще час ждал
Michael
спор из области, что курить вредно, но я же курю и жив.
Daniel
не, я не спорю
Daniel
я вопрос задаю
Daniel
и пока ответы все какие-то невнятные :)
Igor
http://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout
Daniel
еще раз - почему не прибить воркера сразу? зачем ждать?
Michael
ответ: чтобы юзер, качающий 100500 мегабайтный файл мог не нажимать на его перезакачку в браузере.
Michael
а недогруженный css или js или картинка делают сайт некрасивым.
Michael
и браузер не пытается из докачать, кстати.
Daniel
Daniel
раньше он сам бы соединение закрыл по окончании
Daniel
но сегодня-то - нет, не закроет
Michael
браузер закроет соединени.