ainu
Клиент итак не будет ждать. Клиент получит мгновенно "ок, сделаем". дальше запускается горутина котора делает мьютекс или пишет задание в channel.
ainu
Но идея с одним потоком для записи хороша и понятна
Roman
Roman
Имхо
ainu
Ну такая идея. В случае ошибки записи клиент в дураках, да.
Dmitriy
Если памяти много, можно поддерживать реплику основной бд, которая и будет лочиться при дампе на диск, а основная всегда работать в штатном режиме
ainu
Ничего страшного в моем случае.
ainu
дамп на диск тоже не страшно. Его можно не сразу а раз в пять минут например.
ainu
Самое главное индекс пересчитать.
ainu
А индекс использует мапы, а в мапы параллельно писать нельзя
ainu
Ок, допустим клиент получает отмашку "{status: 'OK'}".
Вопрос что быстрее - мьютексы или чанел
Ivahaev
В канале внутри мутекс. Вывод напрашивается сам.
Daniel
два
Daniel
но - канал бывает буферизованный
ainu
два
хех. Вопросов больше не имею.
Roman
Тут очень много случаев race condition может быть. Данные записались не в том порядке или что то не так пошло. Думаю, не зря in-memory DB часто однопоточны
Daniel
так что в реальности буферизованный канал может оказаться быстрее
Ivahaev
Канал, в добавок, нагляднее будет.
Daniel
но это как раз и будет буферизованный канал, по факту
ainu
еще вопрос. после того как начал писать в map и до того как закончил писать в map - читать из него безопасно? для читателей надо делать лок пока не запишут?
Daniel
надо делать лок
Daniel
поэтому надо пользовать rwmutex
Kirill
https://github.com/avelino/awesome-go/pull/1371/files#diff-04c6e90faac2675aa89e2176d2eec7d8R815
Daniel
что ты имеешь в виду?
Kirill
https://github.com/golang/go/issues/17973
Anton
добрый день. Есть такая задачка. Нужно накалякать rest server.
Есть кучка сущностей, которые могут возвращаться в ответах. Само тело ответа состоит из
{metadata: {...}, response: {......}}
В зависимости от запроса нужно подменять в
поле response данные на эти сущности. Как сие заделать есть идеи? куды копать?
желательно пользовать echo
Anton
модельки сущностей описаны. собсна не хотелось бы под каждую сущность еще городить "response json" струтуру...
Anton
хочется как-то "втыкать" json сущности в json ответа
MXLTN
привет, есть маленькая функция, нужно закрыть канал когда какое-то действие происходит, параллельно работает рутина которая в этот канал регулярно что-то пихает
MXLTN
как это сделать?
MXLTN
Mike
select-то тут зачем? оО
MXLTN
это драфт функции
MXLTN
не до конца написана еще
MXLTN
вопрос - как мне закрыть out когда psession.Finished
MXLTN
если не дает спать select
MXLTN
MXLTN
точнее закрыть то получается канал, но как не писать в закрытый канал? и понять что он закрыт
Mike
https://gobyexample.com/closing-channels
MXLTN
в моем случае индикатор того что хватит лежит вне функции
MXLTN
MXLTN
это сильно некрасиво?
Mike
ну если ты одним и тем же out пользуется и там и там
Mike
очевидно ты или должен или как-то его передавать в функции как аргумент
Mike
или хранить его в замыкающем их скоупе
А ВОТ ТЕПЕРЬ ПАБЛИК
Эмм чет не пойму все в одном пакете
А ВОТ ТЕПЕРЬ ПАБЛИК
Slava
Скорее всего ты билдишь файл, а не пакет
Anton
пишу middleware для echo. Внутри втыкаю
println(context.Response().Status)
. В обработке urla пишу
return context.String(404, "test error")
. И мидлваря мне вываливает статус 200....Почему такое может быть?
Anton
Anton
А ВОТ ТЕПЕРЬ ПАБЛИК
Anton
А подскажите ка слаковую группу по го
Konstantin
Можно ли Gogland подружить с Golint? Каждый раз через консоль не самое удобное дело
Alexander
а кто понял что означает переименование Докера в Moby?
Igor
Moby Dock
Aleksandr
https://habrahabr.ru/post/326798/
Roman
Ребятки, тут в чате кто то писал, что в каналах Go используется 2 мютекса внутри. Где нибудь есть статья об этом?
Roman
aadz
/help
Ivahaev
@berserkk
https://habrahabr.ru/post/308070/
Ivahaev
Там про один мутекс, ага
Konstantin
Какая боль для перфекциониста когда функция аргументов у функции как штатов в америке (нет)
Konstantin
Ivahaev
Сильно! :)
Mike
Кажется, тут могла бы быть структура
Mike
Хотя бы interface{}
Mike
Чтоб о порядке при передаче не думать
Mike
И читалось лучше чем func(1, 5, 7, "FG")
Konstantin
Как вариант, кстати, спасибо.
Просто тогда нарушится общность с остальными функциями.
В любом случае, чуть позже будут сделаны обертки для этой функции на разные случаи, она сама по себе как база.
А ВОТ ТЕПЕРЬ ПАБЛИК
А ВОТ ТЕПЕРЬ ПАБЛИК
Что я делаю не так?
А ВОТ ТЕПЕРЬ ПАБЛИК
а так работает
А ВОТ ТЕПЕРЬ ПАБЛИК
А ВОТ ТЕПЕРЬ ПАБЛИК
Как влияет регистр на это?
Yehor
для json-а нужны экспортируемые поля
А ВОТ ТЕПЕРЬ ПАБЛИК
вот, а как они помечаются? я же справа просписал уже в ковычках, регистр влияет на экспорт поля?