Size: a a a

2020 April 02

М

Мерль🛠 in Go-go!
Sky Alex
А можно сделать какой-то ехо канал?
Если из него нет читателей, то буферизированный канал будет хранить в себе все полученные значения
источник

VM

Vladislav Milenin in Go-go!
Массив мьютексов 😐
источник

DP

Daniel Podolsky in Go-go!
Sky Alex
Так у меня уже массив мютексов.
коллега, вы явно что-то не то делаете
источник

VM

Vladislav Milenin in Go-go!
А потом пишут, что го низкоуровневый
источник

АП

Александр Попов in Go-go!
Sky Alex
Делаю менеджер работы с масивом серверов рострес.
Некоторые задачи нужно лочить что б одновременно не выполнялись.
@onokonem он делает это
источник

DP

Daniel Podolsky in Go-go!
это я видел
источник

DP

Daniel Podolsky in Go-go!
но даже такую странную задачу можно делать разумно
источник

АП

Александр Попов in Go-go!
@SkyAlexV а что за задачи то? проверка списка?
источник

АП

Александр Попов in Go-go!
список серверов это слайс?
источник

SA

Sky Alex in Go-go!
Распишу чуть конкретней.
Есть 1000+ баз постгреса.
Когда делается бекап другие таски должный ждать завершения (ет как пример)

Но некоторые таски должны обломится с ошибкой если уже исполняется какой-то таск.

Я делаю:
при начала таска смотрю есть ли уже мютекс, если нет то создаю новый для конкретной базы, если есть то просто делаю лок на существующий.
анлок в дефере.
источник

SA

Sky Alex in Go-go!
И уменя получается что два таска на одну базу паралельно исполнятся не будут.
источник

АП

Александр Попов in Go-go!
зачем мьютекс то? можно же было просто добавить флаг
источник

АП

Александр Попов in Go-go!
я бы взял sync.Map и просто сделал "ассоциативный массив"
источник

SA

Sky Alex in Go-go!
Александр Попов
зачем мьютекс то? можно же было просто добавить флаг
И как его мониторить что уже можно начинать?
источник

АП

Александр Попов in Go-go!
тут вопрос - "Но некоторые таски должны обломится с ошибкой если уже исполняется какой-то таск." а как мы отличаем "некоторые" от "всех"?
источник

SA

Sky Alex in Go-go!
Александр Попов
тут вопрос - "Но некоторые таски должны обломится с ошибкой если уже исполняется какой-то таск." а как мы отличаем "некоторые" от "всех"?
Каждый таск имеет свой контроллер, в нем и работа с локами.
источник

RS

Roman Sharkov in Go-go!
Sky Alex
Делаю менеджер работы с масивом серверов рострес.
Некоторые задачи нужно лочить что б одновременно не выполнялись.
https://play.golang.org/p/uS-dGZW4e4m

может что-то в этом роде?
источник

АП

Александр Попов in Go-go!
Sky Alex
Каждый таск имеет свой контроллер, в нем и работа с локами.
может вам надо на каждый таск канал?
источник

SA

Sky Alex in Go-go!
И чем мне канал поможет?
источник

SA

Sky Alex in Go-go!
Припустим ситуация:
один таск получил лок и работает.
10 ждут на mutex.lock().
источник