2019.8.15更新
代理池异常的原因,是因为在db.py中zadd方法没有修改完全。
def max(self, proxy):
"""
将代理设置为MAX_SCORE
:param proxy: 代理
:return: 设置结果
"""
print('代理', proxy, '可用,设置为', MAX_SCORE)
return self.db.zadd(REDIS_KEY, {proxy: MAX_SCORE})
当代理测试可用时,会调用max()函数将代理分数值设置为100,并存入redis中。此时也会调用zadd方法。上次没有修改这里的zadd方法
( ̄□ ̄||)
运行代码,报出异常如下:
异常函数为decrease()函数中的self.db.zincrby()方法。
zincrby()函数的源码如下:
zincrby()函数中有三个参数name,amount,value, name是redis的KEY_VALUE键值。amount是数量,分数,value则是值。
代理池中代码的zincrby()函数的参数是REDIS_KEY, proxy, -1, 。。。感觉顺序