Size: a a a

2021 June 03

LV

Legio V Alaudae in Go-go!
Нет, я просто сказал как избавится от конкурентной записи в мапу
источник

ЛА

Локоть Анатолий... in Go-go!
Ну у вас задача чисто под лок. Если блокировать надо в одном процессе, то просто sync.Mutex. если несколько процессов, то распределенный лок на редисе, например
источник

VY

Vladislav Yarmak in Go-go!
а какое правильное поведение, если пришёл пересекающийся запрос? дать отлуп или подождать?
источник

m

milkiweed in Go-go!
у меня net/http сервер

мб у нас кейсы чуть другие, но у меня кейс что для каждой ошибки надо вернуть кастомный текст и апи код

я везде бойлерплейт код писал под это, потом додумался вынести в методы разные, выглядит уже лучше, но не совсем то. теперь вот идея с мидлварем кажется самой хорошей)
источник

LV

Legio V Alaudae in Go-go!
А если архитектурно - фигачим воркерпул, передаем таску в него, используем блокировку, статус задачи узнаем через реализацию sync.Map/ мапу за RWMutex/Redis/etc
источник

LV

Legio V Alaudae in Go-go!
Но мне крайне в лом все это расписывать
источник

K

Kino Recovery in Go-go!
Отпустить клиента и проигнорировать отправку запроса
источник

VE

Vladimir Eliseev in Go-go!
Это как?
Я прбовал помокать с помощью wabbit. Сначала порадовал пакетик, отлично было все.
Но потом обнаружил, что он не мокает fanout.
А мне нужен был именно fanout
источник

K

Kino Recovery in Go-go!
две проблемы как я сказал выше правильные сбросить запрос аесли встанем на Лок то при отпускании полетит следующий заказ которым может показаться устаревшим
источник

K

Kino Recovery in Go-go!
Спасибо посмотрю в этот сторону хотя как мне для временного костыля сложновато
источник

LV

Legio V Alaudae in Go-go!
Если именно временный костыль - вынесите отдельную структуру с методами в стиле Check(uuid) и Run(something) и там под капотом заверните в sync.Map/мапу за мьютексом. По крайней мере потом рефакторить будет проще
источник

S

Sergey in Go-go!
Так ежели вам для тестов то сделайте интерфейс свой и его замокайте
источник

S

Sergey in Go-go!
Вы же доверяете рэббиту и как он работает
источник
2021 June 04

ВС

Владимир Столяров... in Go-go!
Я так понимаю вам надо что-то типа такого https://github.com/go-chi/httpcoala/blob/master/httpcoala.go
источник

RT

Rostislav Teryaev in Go-go!
Всем привет! Как вы считаете, с появлением дженериков в го может появиться структура set в языке или вряд ли?
источник

RL

Ragnar Lodbrok in Go-go!
А зачем она нужна?
источник

RT

Rostislav Teryaev in Go-go!
Ну примерно за тем же, зачем и стек нужен, когда есть массив.
Это абстрактный тип данных. Понятно, что можно реализовать его с помощью мапы, но мне видится более красивым оперировать множеством.
источник

RT

Rostislav Teryaev in Go-go!
Писать set.Union(a, b)
вместо того, чтобы городить свои функции, которые итерируются по двум мапам и добавляют их элементы в третью
PS ну или в одну из них
источник

AP

Andrey Panov in Go-go!
Вот мне сейчас нужна была сортированная map, а нету :(
источник

AP

Andrey Panov in Go-go!
Зато вот нашел, что в Го придумали взамен extends в Java для структур. Неочевидные embedded типы
источник