decrease score of proxy, if small than PROXY_SCORE_MIN, delete it :param proxy: proxy :return: new score
(self, proxy: Proxy, redis_key=REDIS_KEY, proxy_score_min=PROXY_SCORE_MIN)
| 92 | return convert_proxy_or_proxies(sample(proxies, count)) |
| 93 | |
| 94 | def decrease(self, proxy: Proxy, redis_key=REDIS_KEY, proxy_score_min=PROXY_SCORE_MIN) -> int: |
| 95 | """ |
| 96 | decrease score of proxy, if small than PROXY_SCORE_MIN, delete it |
| 97 | :param proxy: proxy |
| 98 | :return: new score |
| 99 | """ |
| 100 | if IS_REDIS_VERSION_2: |
| 101 | self.db.zincrby(redis_key, proxy.string(), -1) |
| 102 | else: |
| 103 | self.db.zincrby(redis_key, -1, proxy.string()) |
| 104 | score = self.db.zscore(redis_key, proxy.string()) |
| 105 | logger.info(f'{proxy.string()} score decrease 1, current {score}') |
| 106 | if score <= proxy_score_min: |
| 107 | logger.info(f'{proxy.string()} current score {score}, remove') |
| 108 | self.db.zrem(redis_key, proxy.string()) |
| 109 | |
| 110 | def exists(self, proxy: Proxy, redis_key=REDIS_KEY) -> bool: |
| 111 | """ |