Anonymous
Привет, сразу вопрос можно ли как-то ограничить количество запросов в секунду? В телеграмме бот апи разрешено только 30 запросов в секунду. Подскажите в какую сторону копать
Aleksandr
Anonymous
Илья
Anonymous
Andrey
Подскажите как правильно sql.DB готовить.
Стартует много горутин и они делают
Prepare и Query каждая
db.SetMaxOpenConns(2) поэтому не боюсь, что базу повалит.
Но при этом, если 2 рутины вызовут одновременно Prepare, то получится дедлок
Andrey
Кроме как лочками не победить?
Aleksandr
один запрос? или разный?
Andrey
Разный
Andrey
У меня в голову пришло только сделать симофор и больше одного Prepare за раз не вызывать. Но может еще решения есть?
Vasily
не делать prepare
Alexander
Пул соединений нужно. Так что каждая горутина берет соединение с БД, блокирует, использует как хочет, а потом освобождает. Примерно как https://github.com/gotamer/pool
Andrey
Andrey
Vasily
если вы не делаете кучу одиноковых запросов, а каждый раз 1 препер, 1 квери, то вы даже выиграете по сеорости
Daniel
Вариант
а драйвер его не делает сам ли?
Vasily
в драйвере можно отключить
Andrey
Да, он делает пул. Но фишка в том, что пока мы один Prepare не закроем и не освободим подключение - до Query дело не дойдет
Andrey
deadlock
Daniel
я не думаю, что надо делать prepare самому
Andrey
Интересное предположение
Andrey
Пойду зачитаю на этот счет. Спасибо за варианты.
Andrey
Да, короч, в моем случае проще всего оказалось убрать Prepare
bunin
кто-то умеет в iris? нужно логировать все response с не двухсотым статусом. Не могу достать response body
Slava
Здесь ирис бойкотируют
bunin
Sergey
myproject/
├── main.go
├── handlers/
└── fio.go
Всем привет, не могу разобраться с импортами, проект лежит на рабочем столе, например чтобы обратится из main к функциям пакета fio я пишу import «./handlers» и все работает, а как мне из пакета fio обратится например к функциям main, пробовал методом тыка, гуглил, и везде только обращение вверх по иерархии, так как обратится вниз по иерархии и возможно ли это вообще(Пробовал кластть в src/githib и писать через импорт начиная с github и что то тоже не работает, уверен что что-то делаю не так)
Aleksandr
не используй относительные импорты
Slava
к пакету main никак нельзя обратиться из других пакетов
Slava
main это точка входа в программу, а не импортируемый пакет
Andrey
Да и не надо это
Sergey
Sergey
обратиться*
Andrey
Да
Slava
нет
Sergey
Так да или нет?)
Andrey
Да
Sergey
Хорошоо, спасибо
Slava
Андрей прав, я неверно прочитал, из main можно обратиться к внешнему пакету
Mikhail
Wingman
Подскажите плз концептуально/архитектурно, как правильно сделать :)
Есть у меня демон с телнет-шеллом, менюшками, автокомплитом итд.
Менюшка грозит стать развесистой и очень многоплановой: ну там, сколько то команд - отобразить инфу из базы, часть - сходить на оборудование по телнету, часть - проанализировать чегонить, ну и т.д.
Это 100500 модулей потенциально. В норме - они будут работать самостоятельно и выполнять периодические задачи, но много чего должна быть возможность дергать и вручную.
Так вот: как правильнее организовать обращение ко всем "кишкам"?
Испортить в модуль меню все остальные нужные модули и в каждом из них писать калбеки для меню?
Wingman
):
Vasily
если модулей много и хочется каждый из них автономно разрабатывать - то можно импортировать пакет, который внутри в func init зарегистрирует себя в общем меню, а дальше при вызове этого модуля он уже сам решает как что обрабатывать
Wingman
мгм
Wingman
спасибо, ушел переваривать :)
Антон
Подскажите, как реализовать на сайте авторизацию и регистрацию? что гуглить?
Vasily
golang authorization registration
Антон
Anonymous
Доброго времени суток, друзья, кто знает библиотеки с XBRL? Поделитесь плиз
heavycharged
Господа, а можете пояснить по поводу *.so модулей. Я хочу попробовать на днях набросать что-то вроде сайта, состоящего из компонентов: блог, магазин, и т.д.. И чтобы каждый компонент можно было подключать как модуль, и сайт мог использовать, т.е. кому то нужен просто блог, кому-то шоп, кому-то CRM и т.д.. Есть ли какие-то подводные камни, и подойдет ли такая реализация для этих целей?
Vladimir
Vladimir
Нельзя разрабатывать это на Windows/osX
Vladimir
ну то есть писать код можно но компилироваться не будет
Vladimir
поэтому если люди хотят чистой кросс-платформенности, то извращаются с микросервисами и gRPC каким-нибудь для общения.
heavycharged
про linux-only я понимаю, обычно сайты на них и крутятся. тут вопрос именно во всяких ограничениях. плагин который подключается, он одним процессом идет с родителем, и расшаривает память? есть ли какие-то проблемы с производительностью?
Wingman
Господа, а можете пояснить по поводу *.so модулей. Я хочу попробовать на днях набросать что-то вроде сайта, состоящего из компонентов: блог, магазин, и т.д.. И чтобы каждый компонент можно было подключать как модуль, и сайт мог использовать, т.е. кому то нужен просто блог, кому-то шоп, кому-то CRM и т.д.. Есть ли какие-то подводные камни, и подойдет ли такая реализация для этих целей?
нахера для этого сошки лепить, чем пакеты не подходят?
Wingman
хотя снимаю вопрос, извините, с виду он всё очень просто, это не как нативные сишные либы
heavycharged
Короче, буду пробовать на днях, может что-то разнюхаю интересное :)
Vasily
не тратьте время, это не пхп с плагинами для вордпресса
Oleh
Кто то юзал influx gb?
Oleh
https://www.influxdata.com/
Vladimir
есть соседний канал "церковь метрик", можешь там спросить почему. Но в принципе там в faq: http://bit.ly/2AHQRa9
Oleh
чего?
Vladimir
чего?
ну не надо эту поделку использовать в проде
Vladimir
если это больше чем 3.5 боксика или там домашняя метеостанция
Vladimir
база до сих пор нестабильна, теряет данные, медленная, постоянно меняется
Vladimir
поэтому просто не надо
Vladimir
впрочем решать тебе
Oleh
печально
спасибо
Vladimir
у influxdata офигенный маркетинг и отрватительный продукт
Vladimir
глянь фак выше, там народ с канала примерно по мотивам эксплуатации верси 1.1 - 1.4 собрал основные моменты
Vladimir
если тебя такое устраивает то конечно юзай
Vladimir
что вместо? если колоночная append only база - то бери кликхаус. Если sql-подобное что-нибудь - постгря. Мониторинг - prometheus, долгосрочные метрики - graphite