searchReplica := func(i int) { 
                  
                  
                          select {
                  
                  
                          case c <- replicas[i](query):
                  
                  
                          case <- ctx.Done():
                  
                  
                          }
                  
                  
                      }
                  
                  
                  и все равно не получится завершить работу воркера досрочно и сэкономить ресурсы?
                  
                  
                
нет, не получится, у вас программа в select переходит после того как выполняется вызванная функция вам надо либо запускать её в отдельной горутине либо переписать таким образом чтобы она уважала отменяемый контекст
Обсуждают сегодня