manual gc every crawl
This commit is contained in:
@@ -5,9 +5,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/zu1k/proxypool/internal/database"
|
||||
|
||||
"github.com/zu1k/proxypool/internal/cache"
|
||||
"github.com/zu1k/proxypool/internal/database"
|
||||
"github.com/zu1k/proxypool/pkg/provider"
|
||||
"github.com/zu1k/proxypool/pkg/proxy"
|
||||
)
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package cron
|
||||
|
||||
import (
|
||||
"runtime"
|
||||
|
||||
"github.com/jasonlvhit/gocron"
|
||||
"github.com/zu1k/proxypool/internal/app"
|
||||
)
|
||||
@@ -13,4 +15,6 @@ func Cron() {
|
||||
func crawlTask() {
|
||||
_ = app.InitConfigAndGetters("")
|
||||
app.CrawlGo()
|
||||
app.Getters = nil
|
||||
runtime.GC()
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
)
|
||||
|
||||
var DB *gorm.DB
|
||||
@@ -20,7 +21,9 @@ func connect() (err error) {
|
||||
if url := os.Getenv("DATABASE_URL"); url != "" {
|
||||
dsn = url
|
||||
}
|
||||
DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{})
|
||||
DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Silent),
|
||||
})
|
||||
if err == nil {
|
||||
fmt.Println("DB connect success: ", DB.Name())
|
||||
}
|
||||
|
||||
@@ -26,6 +26,9 @@ func InitTables() {
|
||||
}
|
||||
|
||||
func SaveProxyList(pl proxy.ProxyList) {
|
||||
if DB == nil {
|
||||
return
|
||||
}
|
||||
proxies := make([]Proxy, pl.Len())
|
||||
for i, p := range pl {
|
||||
proxies[i] = Proxy{
|
||||
|
||||
Reference in New Issue
Block a user