Size: a a a

2021 June 01

АК

Александр Костюченко... in Go-go!
ясно, тут не помогу, наверное, не работал с mq
и где фор кончается второй тоже заметил, не внимательно посмотрел сначала
источник

ЯК

Ярослав Коробейников... in Go-go!
if err := conn.Close(); err != nil {
     log.Printf("[main] conn.Close Error: %v", err)
   }

   log.Println("Чё ты завис?")
   if err := ch.Close(); err != nil {
     log.Printf("[main] ch.Close Error: %v", err)
   }

Ля, добавил принт, начал перезагружаться, чё за бред
worker-2      | 2021/06/01 07:23:01 After break readMessagesLoop!
worker-2      | 2021/06/01 07:23:01 [main] conn.Close Error: Exception (504) Reason: "channel/connection is not open"
worker-2      | 2021/06/01 07:23:01 Чё ты завис?
worker-2      | 2021/06/01 07:23:01 [main] ch.Close Error: Exception (504) Reason: "channel/connection is not open"
worker-2      | 2021/06/01 07:23:01 Restart worker
worker-2      | 2021/06/01 07:23:01 Start worker
источник

АК

Александр Костюченко... in Go-go!
еще пару раз перезапустите и попробуйте нагрузить чем-нибудь
источник

АК

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

ЯК

Ярослав Коробейников... in Go-go!
А вру, не то
источник

ЯК

Ярослав Коробейников... in Go-go!
Там же фор в форе)
источник

ЯК

Ярослав Коробейников... in Go-go!
источник

ЯК

Ярослав Коробейников... in Go-go!
Только внутренни for именованым сделал
источник

ЯК

Ярослав Коробейников... in Go-go!
зависает вот здесь
log.Println("Чё ты завис?")
   if err := ch.Close(); err != nil {
     log.Printf("[main] ch.Close Error: %v", err)
   }

Вот этот ch.Close() как будто под капотом что-то ждёт....

А я как бы реббит перезагружаю в докере
источник

АК

Александр Костюченко... in Go-go!
поменяйте местами закрытие канала и коннекта как вариант :)
источник

АК

Александр Костюченко... in Go-go!
вдруг горутина какая заснула
источник

АК

Александр Костюченко... in Go-go!
ну т.е логично же сначала же выходя из дома закрыть дверь, а потом подъезд (догадки)
источник

ЯК

Ярослав Коробейников... in Go-go!
Ага, но нет) тогда звисает раньше , но опять на том же месте) Чё-то опасян какойто)

Да по факту у меня всё равно Close() выдаёт ошибку так как я перезапускаю реббит в докере, соединение падает и CLose() тоже не получиться сделать, но это не повод намертов виснуть при закрытии же ;D
источник

АК

Александр Костюченко... in Go-go!
смотрите где еще используется канал/коннект ПЕРЕД которым все виснет
источник

АК

Александр Костюченко... in Go-go!
скорее всего найдете горутину которая блокает
источник

АК

Александр Костюченко... in Go-go!
умные люди как-то дебажат, я не умею
источник

АК

Александр Костюченко... in Go-go!
но select я бы заменил anyway обычным if, смысл запускать еще один цикл (select) ради  1 канала
источник

ЯК

Ярослав Коробейников... in Go-go!
ПРивет, встречал такое?)))

При попытке закрытия канала, всё намертво виснет?)
Именно канала, а не конекшена)

Я перезагружаю реббит, внутри go как бы доходит до закрытия соединения и канала, и вот на закрытии канала всё повисает, и даже когда реббит переподнялся, то го всё равно не восстанавливается)
источник

ЯК

Ярослав Коробейников... in Go-go!
Да там два канала ё ма) я для примера запихнул 1)
источник

АК

Александр Костюченко... in Go-go!
ладно, последний вариант тупо для теста (засуньте закрытие в defer)
источник