Size: a a a

2021 June 23

AB

Andrey Burov in Go-go!
непонятно, смотреть конкретно надо
источник

е

енот in Go-go!
знает кто простой модуль для работы с bluez?
источник

е

енот in Go-go!
go-bluetooth мне тяжеловато осилить  =\
источник

SS

Simon S in Go-go!
просто таких практик на Го я особо не нашел, обычно там просто сервер, который делает конечную задачу и отдает ответ, а у меня специфичная очень задача
источник

AB

Andrey Burov in Go-go!
ну вот поэтому и смотреть точнее надо, ну звучит не плохо, может оно и имеет право на жизнь
источник

ЛА

Локоть Анатолий... in Go-go!
надо сделать ее graceful shutdown, чтобы она делала
select {
   case <-ctx.Done():
       return ctx.Error()
   default:
       // put previous logic here
}

для этого она должна быть запущена с параметром ctx context.Context.
если это есть - то практика норм
источник

J

Johnny in Go-go!
Ну ещё при описанной архитектуре можно потерять данные, ведь сама таска обработки существует только в оперативной памяти
источник

AB

Andrey Burov in Go-go!
Сомнительное решение
источник

ЛА

Локоть Анатолий... in Go-go!
ну это уже высшие материи
источник

ЛА

Локоть Анатолий... in Go-go!
альтернатива?
источник

S

Sergey in Go-go!
Ну в этом как мне кажется и фишка го, создал пул воркеров, которые ждут входящих данных, а в другом месте получаешь данные и забрасываешь по каналам. Главное правильно синхронизацию и завершение рутин сделать, чтобы они не потекли и нарушений целостности данных не было и красота. Разделил задачу на части, ускорив намного обработку данных
источник

AB

Andrey Burov in Go-go!
я к тому что в select <-ctx.Done() и default смысла нет
источник

AB

Andrey Burov in Go-go!
поможет только в случае если дернут функцию с уже тухлым контекстом
источник

ЛА

Локоть Анатолий... in Go-go!
да, если рутина что-то делает в цикле, то скорее всего надо так:
for {
select {
   case <-ctx.Done():
       return ctx.Error()
   default:
       // do iteration
}
}
источник

AB

Andrey Burov in Go-go!
ну если функции в default не используют контексты и т.п., то тоже как-то
источник

ЛА

Локоть Анатолий... in Go-go!
ну хорошо, но горутину надо в любом случае контролируемо завершить
источник

S

Sergey in Go-go!
Типо контекст оверхед и хватит done канала?
источник

AB

Andrey Burov in Go-go!
да, так хоть какая-то возможность это сделать есть
источник

SS

Simon S in Go-go!
В том и дело, что мне не надо не завершать
источник

AB

Andrey Burov in Go-go!
нет, context - "стандарт"
источник