From 864f8403ac306984a657bccf002e410f2979865e Mon Sep 17 00:00:00 2001 From: zu1k Date: Sat, 5 Sep 2020 22:30:05 +0800 Subject: [PATCH] use miner patch size --- internal/database/proxy.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/internal/database/proxy.go b/internal/database/proxy.go index 77749ad..3de5f04 100644 --- a/internal/database/proxy.go +++ b/internal/database/proxy.go @@ -25,17 +25,26 @@ func InitTables() { } } +const roundSize = 100 + func SaveProxyList(pl proxy.ProxyList) { if DB == nil { return } - proxies := make([]Proxy, pl.Len()) - for i, p := range pl { - proxies[i] = Proxy{ - Base: *p.BaseInfo(), - Link: p.Link(), - Identifier: p.Identifier(), + + size := pl.Len() + round := (size + roundSize - 1) / roundSize + + for r := 0; r < round; r++ { + proxies := make([]Proxy, 0, roundSize) + for i, j := r*roundSize, (r+1)*roundSize-1; i < j && i < size; i++ { + p := pl[i] + proxies = append(proxies, Proxy{ + Base: *p.BaseInfo(), + Link: p.Link(), + Identifier: p.Identifier(), + }) } + DB.Create(&proxies) } - DB.Create(&proxies) }