Size: a a a

2020 April 02

D

Denis in Go-go!
Хелп плз
есть кусочек кода

valOfResult := reflect.ValueOf(rawRes.Value())
reflect.ValueOf(resultPtr).Elem().Set(valOfResult)


Работает почти правильно, ошибка такая
panic: reflect.Set: value of type *emailcheckout.Response is not assignable to type emailcheckout.Response


То есть вот что хочется сделать, если бы без рефлекта:
*resultPtr = &rawRes.Value()
источник

SA

Sky Alex in Go-go!
А про ехо каналы ето отдельный вопрос, к етому не относится.
источник

RS

Roman Sharkov in Go-go!
Sky Alex
А про ехо каналы ето отдельный вопрос, к етому не относится.
кстати в Кириллице буква э существует не просто так, чисто для информации 🙂
источник

VM

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

SA

Sky Alex in Go-go!
Roman Sharkov
кстати в Кириллице буква э существует не просто так, чисто для информации 🙂
Сори, русский не родной язык, забываю.
источник

RS

Roman Sharkov in Go-go!
Sky Alex
Сори, русский не родной язык, забываю.
мой тоже)
источник

SA

Sky Alex in Go-go!
Vladislav Milenin
какой-то ерундой занимаетесь, зачем каждой базе мьютекс, и вообще при чем тут мьютекс. Пусть пул воркеров выполняет задачи и менеджера поверх накрутить, чтобы раздавал их
все
Пул воркеров не получится, нужно возвращать результат таска.
источник

DP

Daniel Podolsky in Go-go!
Sky Alex
Припустим ситуация:
один таск получил лок и работает.
10 ждут на mutex.lock().
1. на каждый сервер - по горутине, на каждую горутину - поканалу, через который будут приходить таски
2. без всяких локов и атомиков в этой горутине есть счетчик сейчасИсполняетсяПараллельныхТасков и флаг исполняетсяНепараллельныйТаск
3. когда приезжает таск - смотрим на счетчик и флаг, дальше очевидно
4. таски запускаем в горутинах, пусть отчитываются о завершении через канал
5. входной канал и отчетный (отчетные, возможно, непараллельным надо иметь свой) канал слушаем в селекте
6. при поступлении отчета меняет счетчик и флаг
7. профит
источник

VM

Vladislav Milenin in Go-go!
Sky Alex
Пул воркеров не получится, нужно возвращать результат таска.
а возвращать в канал с результатами не судьба?)
источник

SA

Sky Alex in Go-go!
Daniel Podolsky
1. на каждый сервер - по горутине, на каждую горутину - поканалу, через который будут приходить таски
2. без всяких локов и атомиков в этой горутине есть счетчик сейчасИсполняетсяПараллельныхТасков и флаг исполняетсяНепараллельныйТаск
3. когда приезжает таск - смотрим на счетчик и флаг, дальше очевидно
4. таски запускаем в горутинах, пусть отчитываются о завершении через канал
5. входной канал и отчетный (отчетные, возможно, непараллельным надо иметь свой) канал слушаем в селекте
6. при поступлении отчета меняет счетчик и флаг
7. профит
Чет слишком переусложнєнно.
источник

DP

Daniel Podolsky in Go-go!
источник

АП

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

SA

Sky Alex in Go-go!
И еще канал для респонсов, а они разные.
источник

SA

Sky Alex in Go-go!
И еще канал для ошыбок и они тоже разные.
источник

DP

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

VM

Vladislav Milenin in Go-go!
зачем канал для ошибок отдельный)
источник

SA

Sky Alex in Go-go!
А зачем мне за ними следить?
источник

VM

Vladislav Milenin in Go-go!
вы уверены что го для вас вообще подходит?
источник

DP

Daniel Podolsky in Go-go!
Sky Alex
А зачем мне за ними следить?
чтобы знать, можно ли запускать непараллельную
источник

SA

Sky Alex in Go-go!
Vladislav Milenin
вы уверены что го для вас вообще подходит?
Нет, но уже нет пути назад.
источник