proxypool icon indicating copy to clipboard operation
proxypool copied to clipboard

检查数据库中的ip的时候为什么不循环一直去检测,而是只检测一次?

Open medasz opened this issue 4 years ago • 5 comments

medasz avatar Mar 24 '20 10:03 medasz

这样会不会导致数据库中的ip有的会过期

medasz avatar Mar 24 '20 10:03 medasz

这个操作会10分钟进行一次,即10分钟会Fetch一次,网站上的数据。再更新到数据库中。如果你有更好的想法,可以提交pr

sndnvaps avatar Mar 24 '20 12:03 sndnvaps

我只是有一些地方想不通,不是说你写的不好 数据库会不会有一直更新不到的数据; 我想改成

go func() {
		for{
			storage.CheckProxyDB()
		}
	}()

还有一点不太明白:在CheckIP的时候有更新,为什么还要在添加,难道更新的时候数据如果不存在不会插入吗?

medasz avatar Mar 25 '20 04:03 medasz

我只是有一些地方想不通,不是说你写的不好 数据库会不会有一直更新不到的数据; 我想改成

go func() {
		for{
			storage.CheckProxyDB()
		}
	}()

还有一点不太明白:在CheckIP的时候有更新,为什么还要在添加,难道更新的时候数据如果不存在不会插入吗? 即当原来数据库中数据不存在的时候,是会插入的,如果存在就会考虑更新数据库。 可能会存在一些逻辑问题的,你可以尝试修复一下。现在我测试上也存在一些问题,部分数据无法更新到,所以对mysql的表进行了限制,即ip字段进行了unique限制,即每个ip:port只能插入一次。。。 参考行号 https://github.com/henson/proxypool/blob/master/pkg/models/ip.go#L11

sndnvaps avatar Mar 25 '20 15:03 sndnvaps

好的,明白了。谢谢解答疑惑^_^

medasz avatar Mar 25 '20 15:03 medasz