- 程序运行内存不停增加 , 使用 pprof 查看,怀疑是time.NewTicker问题
部分代码
func (spider *Spider) downloaderTotalPlatform() {
rconn := redis.GetConn()
defer rconn.Close()
queue := db.Queue{}
for {
v, err := rconn.Do("LPOP", db.RedisListList)
if err != nil {
log.Println(err.Error())
continue
}
if v == nil {
//暂停 5 秒
<-time.Tick(time.Second * 5)
continue
}
body, err := downloaders(v, &queue)
if err != nil {
log.Println(err.Error())
continue
}
if body == nil {
continue
}
spider.ChanParsers <- &Parser{
Body:body,
Queue:queue,
}
}
}
pprof图:
看看Tick的注释就知道了: