for d := range msgs {
                  
                  
                        log.Printf(" [*] Waiting for messages. To exit press CTRL+C")
                  
                  
                        path, err = filepath.Abs(string(d.Body))
                  
                  
                        utils.Assert(err)
                  
                  
                  
                  
                  
                        if _, err = os.Stat(path); os.IsNotExist(err) {
                  
                  
                          failOnError(err, "%s file doesn't exitst", d)
                  
                  
                        }
                  
                  
                  
                  
                  
                        fmt.Println("Подошли к проверке")
                  
                  
                        avast := AvScan(path, 60)
                  
                  
                        fmt.Println("Прошел проверку")
                  
                  
                        avastJSON, err := json.Marshal(avast)
                  
                  
                        utils.Assert(err)
                  
                  
                        fmt.Println(string(avastJSON))
                  
                  
                  
                  
                  
                        db, err := sql.Open("mysql", "****")
                  
                  
                  
                  
                  
                        if err != nil {
                  
                  
                          panic(err.Error()) // Just for example purpose. You should use proper error handling instead of panic
                  
                  
                        }
                  
                  
                        defer db.Close()
                  
                  
                  
                  
                  
                        sqlStatement := `INSERT INTO ResultTable (Module, Result, FileID) VALUES (?, ?, ?)`
                  
                  
                        _, err = db.Exec(sqlStatement, "Comodo", avastJSON, "10")
                  
                  
                        if err != nil {
                  
                  
                          panic(err.Error()) // proper error handling instead of panic in your app
                  
                  
                        }
                  
                  
                      }
                  
                  
                    }()
                  
                  
                    <-forever
                  
                  
                  }
                  
                  
                  Данный скрипт принимает сообщения из очереди, не могу понять почему он виснет после приема первого сообщения...
                  
                  
                
в какой строке виснет?
а чего он не умеет нормально завершаться? типа того чтобы слушать сигнал и его обработать.
Обсуждают сегодня