Fixed memory leak and made response instant

This commit is contained in:
Artyom Belousov 2019-05-12 11:25:46 +03:00
parent 3ee53b7ad1
commit c59d47326d
3 changed files with 12 additions and 4 deletions

View file

@ -23,13 +23,14 @@ func GetOriginalName(name string) string {
for i := range langs { for i := range langs {
go getOriginalNameFromLang(name, langs[i], channel) go getOriginalNameFromLang(name, langs[i], channel)
} }
var res string
for i := 0; i < len(langs); i++ { for i := 0; i < len(langs); i++ {
name := <-channel name := <-channel
if name != "" { if name != "" {
return name res = name
} }
} }
return "" return res
} }
func getOriginalNameFromLang(name, lang string, channel chan string) { func getOriginalNameFromLang(name, lang string, channel chan string) {

View file

@ -4,10 +4,17 @@ import (
"github.com/flygrounder/mtg-price-vk/vk" "github.com/flygrounder/mtg-price-vk/vk"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"math/rand" "math/rand"
"runtime"
"time" "time"
) )
func main() { func main() {
go (func() {
for {
time.Sleep(5 * time.Second)
println(runtime.NumGoroutine())
}
})()
rand.Seed(time.Now().UTC().UnixNano()) rand.Seed(time.Now().UTC().UnixNano())
r := gin.Default() r := gin.Default()
r.POST("callback/message", vk.HandleMessage) r.POST("callback/message", vk.HandleMessage)

View file

@ -27,12 +27,12 @@ func HandleMessage(c *gin.Context) {
case "confirmation": case "confirmation":
handleConfirmation(c, &req) handleConfirmation(c, &req)
case "message_new": case "message_new":
handleSearch(c, &req) go handleSearch(c, &req)
c.String(http.StatusOK, "ok")
} }
} }
func handleSearch(c *gin.Context, req *MessageRequest) { func handleSearch(c *gin.Context, req *MessageRequest) {
defer c.String(http.StatusOK, "ok")
cardName, err := getCardNameByCommand(req.Object.Body) cardName, err := getCardNameByCommand(req.Object.Body)
if err != nil { if err != nil {
Message(req.Object.UserId, "Некорректная команда") Message(req.Object.UserId, "Некорректная команда")