Size: a a a

2020 May 12

IG

Igor German in Go-go!
а еще утечка тикера
источник

DP

Daniel Podolsky in Go-go!
Igor German
а еще утечка тикера
это не ясно, пока не ясно, зачем там тикер
источник

D

Doublegrey in Go-go!
Функция ConnectSocket должна пытаться подключиться к unix сокету. Функция также должна иметь deadline чтобы не вешать выполнение основного кода на неопределенное время. Тикер я использую для того чтобы пытаться законнектиться к сокету через определенный промежуток времени
источник

OJ

O . J in Go-go!
убери каналы вообще, они тут не нужны, юзай дедлайн через
net.Dialer{Timeout: timeout}
источник

RS

Roman Sharkov in Go-go!
Doublegrey
Добрый день! Все ли я правильно сделал, или есть более краткий способ?
https://play.golang.org/p/Z8BzNPo_Jj2

может вы хотели что-то на подобии этого?
источник

DP

Daniel Podolsky in Go-go!
Doublegrey
Функция ConnectSocket должна пытаться подключиться к unix сокету. Функция также должна иметь deadline чтобы не вешать выполнение основного кода на неопределенное время. Тикер я использую для того чтобы пытаться законнектиться к сокету через определенный промежуток времени
коллега, но тикер предназначен для генерации периодических событий!

это раз

и два - ваш deadline тут не сработает, ему некуда вклиниться
источник

RS

Roman Sharkov in Go-go!
Roman Sharkov
https://play.golang.org/p/Z8BzNPo_Jj2

может вы хотели что-то на подобии этого?
эээ, вернее так: https://play.golang.org/p/fmA33pJwUKa
источник

RS

Roman Sharkov in Go-go!
можно ещё в цикл поместить с time.Sleep
источник

D

Doublegrey in Go-go!
Daniel Podolsky
коллега, но тикер предназначен для генерации периодических событий!

это раз

и два - ваш deadline тут не сработает, ему некуда вклиниться
Мне показалось, что тикер подойдет для периодического выполнения определенных действий, как, например, в моем случае попытка подключения к сокету 🥺
источник

D

Doublegrey in Go-go!
Ну так не интересно, все за меня сделали 😔
Спасибо большое!
источник

DP

Daniel Podolsky in Go-go!
Doublegrey
Мне показалось, что тикер подойдет для периодического выполнения определенных действий, как, например, в моем случае попытка подключения к сокету 🥺
чтобы он подошел - надо вокруг него цикл построить
источник

RS

Roman Sharkov in Go-go!
Doublegrey
Ну так не интересно, все за меня сделали 😔
Спасибо большое!
https://play.golang.org/p/yiZNXiFiFzc

наверное вот так надо было 🤔
источник

RS

Roman Sharkov in Go-go!
Roman Sharkov
https://play.golang.org/p/yiZNXiFiFzc

наверное вот так надо было 🤔
хотя и тут можно бы было немного оптимизировать, не time.Sleep и последующая проверка на отменение, а select на timeout || отмена
источник

D

Doublegrey in Go-go!
Вааау
источник

D

Doublegrey in Go-go!
Спасибо большое еще раз!
источник

D

Doublegrey in Go-go!
А можно вопросик? Зачем мы (ну как мы. Вообще Вы все сделали, но да ладно 🙈) передаем канал done в анонимную функцию? Как я понимаю, это связано с тем, что мы используем его в for цикле?
источник

RS

Roman Sharkov in Go-go!
Roman Sharkov
хотя и тут можно бы было немного оптимизировать, не time.Sleep и последующая проверка на отменение, а select на timeout || отмена
@doublegrey
whoops, там баг, забыл break поставить после успешного коннекта, вот: https://play.golang.org/p/deaKo002Rj9
источник

D

Doublegrey in Go-go!
Roman Sharkov
@doublegrey
whoops, там баг, забыл break поставить после успешного коннекта, вот: https://play.golang.org/p/deaKo002Rj9
Да, я увидел и исправил :)
источник

RS

Roman Sharkov in Go-go!
Doublegrey
Добрый день! Все ли я правильно сделал, или есть более краткий способ?
в общем, финальная версия должна выглядеть так: https://play.golang.org/p/wfE25u7S6OD
эта имплементация убъёт горутины сразу-же как только отменится контекст
источник

D

Doublegrey in Go-go!
Roman Sharkov
в общем, финальная версия должна выглядеть так: https://play.golang.org/p/wfE25u7S6OD
эта имплементация убъёт горутины сразу-же как только отменится контекст
источник