🄽🄸🄺🄸🅃🄰
Илья
Daniel
не так
🄽🄸🄺🄸🅃🄰
ну да, catch может ловить точный тип а остальное мимо
Илья
обрабатываешь интересные тебе ошибки, или эскалируешь ошибку дальше
Илья
чего-же тут не так? :)
Dmitry
На текущий момент самый правильный путь кмк - смириться и надеяться что когда-нибудь у нас появится что-то типа Result из rust :)
Dmitry
🄽🄸🄺🄸🅃🄰
с ошибками придется четко писать
Axm
"этот пес не кусается, он делает больно иначе"
Vladislav
Dmitry
Ну и паттерн-матчинг тоже
Daniel
енамы эмулируются на типизованных константах
Daniel
рили?!
Vladislav
https://doc.rust-lang.org/book/second-edition/ch06-01-defining-an-enum.html
Vladislav
Кстати, есть у кого идеи как различать после анмаршала json в Go отсутствие поля и поля со значением nil?
Vladislav
А то не хочу писать свой парсер.
Daniel
использовать поле-указатель
Vladislav
Ну при отсутствии поля там Нил. При значении nil json вроде тоже.
Vasily
Vasily
Не самое красивое решение, но задачу решает
Alexey 〒.
Alexey 〒.
分解物質
分解物質
хорошая книга
分解物質
а хорошие книги лучше читать в оригинале
Kirill
Всем привет
Пишу систему очередей на go + redis
Хочу реализовать бесконечные попытки извлечения элемента из списка и его обработку, если он не пустой
Пока придумал только такой способ: https://play.golang.org/p/cfx_EUXdUO
Подскажите, есть ли способы сделать лучше? Вечный цикл очень смущает 🙂
ceiling cat
о_о
Он у тебя опрашивает редис без задержек?
Kirill
Да
Я не могу использовать Pub/Sub, т.к. насколько понял история Pub’ов не сохраняется, а значит часть информации пропадет, если сервис, являющийся подписчиком, упадет
ceiling cat
А что такое Pub/Sub?
Немного архитектурный вопрос:
Чего кстати редис, а не голое соединение с сокетами?
Anonymous
Да
Я не могу использовать Pub/Sub, т.к. насколько понял история Pub’ов не сохраняется, а значит часть информации пропадет, если сервис, являющийся подписчиком, упадет
хм, не понятно, почему когда Sub упадет, сообщения пропадут? Потеря информации по схеме Pub/Sub, по-моему, возможна только если Redis нежданчиком упадёт, до сохранения дампа на диск
Илья
я что-то сылшал неплохое про https://github.com/adjust/rmq, и да, проблему Pub/Sub опишите
Anonymous
Kirill
Kirill
Только ставится слип с интервалом, который ты сам можешь выбрать
Kirill
Про Pub/Sub
Я открыл две консоли с redis-cli
В одной наопубликовал несколько записей, в другой подписался после этого
Никаких оповещений из канала не получил
При включенной подписке - новые оповещения, как и ожидается, видны
Из увиденного сделал вывод, что Pub/Sub работает в реальном времени и нигде не хранит историю
Может это и не так, но кодом пока что лениво проверять
Dmitry
Ну тк это pub/sub, а не MQ, всё правильно, не успел подписаться - не получил
Anonymous
Про Pub/Sub
Я открыл две консоли с redis-cli
В одной наопубликовал несколько записей, в другой подписался после этого
Никаких оповещений из канала не получил
При включенной подписке - новые оповещения, как и ожидается, видны
Из увиденного сделал вывод, что Pub/Sub работает в реальном времени и нигде не хранит историю
Может это и не так, но кодом пока что лениво проверять
мб запись просто в один ключ идёт? хотя по логике нужно в разные, это же типа очередь. Не должно быть такой связи по логике. Если сообщения публикуются в очередь, то их может хоть 100500 там накопиться, сколько RAM позволит, а когда подписчик(и) подключи(а)тся к работе, они эту очередь и обработают
Kirill
Anonymous
Dmitry
Хотите очередь - попробуйте nsq. Я пока сам только присматриваюсь к нему, но то что он распределённый мне уже нравится
Anonymous
ну или покажите мне где чётко прописано, что Pub/Sub не может быть реализовано очередью, мб я неграмотный
Kirill
это деталь реализации, имхо
Не знаю при чем тут деталь реализации
Эта штука работает не так, как мне нужно
Остальное не интересует
Pawel
спасибо, я уже и на русише нашёл, могу скинуть если надо. книжка оч гут кстати
Anonymous
Anonymous
Anonymous
очередь на редисе это lpush + rpop
Anonymous
пабсаб хорош но это не очередь, а скорее паттерн обсервер но с распределенными подписчиками
Kirill
Anonymous
Alexey 〒.
Anonymous
ну вот разве паттерн обсервер не может быть очередью? или уже другой паттерн?
в моем понимании:
очередь - это нечто, что хранит сообщения в нее поставленные. эти сообщения могут быть запрошены воркером (или несколькими)
пабсаб ничего не хранит, а отправляет данные тем, кто на них подписался. я не силен в паттернах, но помоему такая логика это паттерн обсервер - подписался - получил.
Alexey 〒.
Anonymous
В роскомнадзоре работаешь?)
не, я его побаиваюсь. Как-то пропал у меня интернет, звонил в поддержку - они мне назвали все мои домашние девайсы подключенные к сети, включая те, что за NAT`ом роутера... с тех пор не качаю "контрабанду")
Vladislav
Alexander
Дайте пожалуйста my.cnf разогнаной базы. (12 cores, 32 Gb RAM)
Anonymous
Sergey
Alexander
Холиваром ТЗ не поменяешь
Pawel
Niko
Niko
Niko
Grigoriy
Ilya
Доброе утро!
Товарищи, а sqlite3 при дефоолтных настройках автоматически поддерживает многопоточную работу, или же при каждом запросе она блокируется на время выполнения запроса?
Konstantin
Парни подскажите. мне нужно в pg получить detail ошибки бд это возможно?. в pq ошибку к типу приводил err.(*pq.Error)
Michael
тут у кого-то в rocks db данные рассыпались, в репо кокроача прилетают фиксы https://github.com/cockroachdb/cockroach/pull/18397
может кому будет интересным
Anonymous
Alexander
Grigoriy
👍🏻 спасибо
Да не за что. Только аккуратнее с ней, не стоит бездумно верить советам.
Alexander
чёрт. кому ж верить? :)
Grigoriy
Не, оно дело подсказывает, но не стоит копипастить все рекомендации, полезно иногда советы обгуглить и обдумать.
Anonymous
Kirill
Мерль
[last news]
How we use gRPC to build a client/server system in Go
Kirill