Size: a a a

2020 February 16

ВС

Владимир Столяров in Go-go!
Чому б и нет, с 1.14 сможет ещё немного лучше
источник

К🇦

Коала 🇦🇺 in Go-go!
он есть в goquery  с которым я подружился, но я хотел делать через goq
источник

L

LoganFrench in Go-go!
а goquery не будет ревновать к goq? друга променял...
источник

C

Constantine in Go-go!
Коала 🇦🇺
он есть в goquery  с которым я подружился, но я хотел делать через goq
ай, я спутал )
источник

К🇦

Коала 🇦🇺 in Go-go!
LoganFrench
а goquery не будет ревновать к goq? друга променял...
я просто программист с краю
источник

К🇦

Коала 🇦🇺 in Go-go!
LoganFrench
а goquery не будет ревновать к goq? друга променял...
goq это приблуда для парсинга через описание структуры с правилами поиска
источник

k

kvaps in Go-go!
Подскажите по реализации плз:

Имеется контроллер, который следит за некими ресурсами в кубе.
Как только какой-то из них обновляется, запускается метод Reconcile().

Я хочу следить за состояниями этих ресурсов и если ресурс меняет свой статус на NotReady то выполнять какое-то действие.
Также я хочу реализовать таймаут, то есть если ресурс перешёл в NotReady, но в течении 10 секунд вернулся обратно в Ready, то ничего не предпринимать.

Я думал на первый вызов Reconcile() для NotReady повесить таймаут, банально time.sleep() на 10 секунд,
А вторым вызовом Reconcile(), если ресурс вернулся в Ready, отменять первый вызов Reconcile()`

Вопрос: как я могу синхронизировать состояние этих двух горутин?
источник

k

kvaps in Go-go!
Я думал воспользоваться каналами в go, но не совсем понимаю, где их создавать, если я буду использовать глобальную переменную то я смогу обрабатывать только один ресурс за раз.
источник

AK

Andrey Klimentyev in Go-go!
kvaps
Подскажите по реализации плз:

Имеется контроллер, который следит за некими ресурсами в кубе.
Как только какой-то из них обновляется, запускается метод Reconcile().

Я хочу следить за состояниями этих ресурсов и если ресурс меняет свой статус на NotReady то выполнять какое-то действие.
Также я хочу реализовать таймаут, то есть если ресурс перешёл в NotReady, но в течении 10 секунд вернулся обратно в Ready, то ничего не предпринимать.

Я думал на первый вызов Reconcile() для NotReady повесить таймаут, банально time.sleep() на 10 секунд,
А вторым вызовом Reconcile(), если ресурс вернулся в Ready, отменять первый вызов Reconcile()`

Вопрос: как я могу синхронизировать состояние этих двух горутин?
Я бы кубом пользовался и не делал ничего лишнего. Просто ставишь аннотацию с timestamp на ресурс и чекаешь, если он опять прилетает. Убираешь, когда пройдёт 10 секунд и он вернётся.
источник

k

kvaps in Go-go!
Andrey Klimentyev
Я бы кубом пользовался и не делал ничего лишнего. Просто ставишь аннотацию с timestamp на ресурс и чекаешь, если он опять прилетает. Убираешь, когда пройдёт 10 секунд и он вернётся.
Это был запасной вариант, но сейчас мне интересно как правильно реализовать такое на go)
источник

k

kvaps in Go-go!
Andrey Klimentyev
Я бы кубом пользовался и не делал ничего лишнего. Просто ставишь аннотацию с timestamp на ресурс и чекаешь, если он опять прилетает. Убираешь, когда пройдёт 10 секунд и он вернётся.
блин, я понял! Оказывается всё ещё проще
источник

k

kvaps in Go-go!
спасибо за совет
источник

DM

Dmitry M in Go-go!
Владимир Столяров
Чому б и нет, с 1.14 сможет ещё немного лучше
Что там такое, что улучшит CPU-bound?
источник

а

а кто это in Go-go!
Dmitry M
Что там такое, что улучшит CPU-bound?
тайт лупы
источник

а

а кто это in Go-go!
самая важная проблема в Go, которую до этого было нельзя решить никакими методами
источник

а

а кто это in Go-go!
именно она
источник

ВС

Владимир Столяров in Go-go!
Dmitry M
Что там такое, что улучшит CPU-bound?
Вытеснение в циклах, где нет вызовов функций
источник

DM

Dmitry M in Go-go!
Владимир Столяров
Вытеснение в циклах, где нет вызовов функций
Т.е. добавит задержки в вычисления?
источник

а

а кто это in Go-go!
Dmitry M
Т.е. добавит задержки в вычисления?
переключения шедуллера
источник

DM

Dmitry M in Go-go!
а кто это
переключения шедуллера
это же хреново. Недаром треды к ядрам прибивают, что бы ОС лишний раз не переключала потоки
источник