From af571deb160e453a8250cbd1d7ec24133f2b41d3 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Mon, 7 Nov 2016 23:40:04 +0100 Subject: [PATCH] Peer cleanup ttl based on peer numbers --- src/Site/Site.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Site/Site.py b/src/Site/Site.py index 72dcd134..782589b1 100644 --- a/src/Site/Site.py +++ b/src/Site/Site.py @@ -896,13 +896,17 @@ class Site(object): if len(peers) > 20: # Cleanup old peers removed = 0 + if len(peers) > 1000: + ttl = 60 * 60 * 1 + else: + ttl = 60 * 60 * 4 for peer in peers: if peer.connection and peer.connection.connected: continue if peer.connection and not peer.connection.connected: peer.connection = None # Dead connection - if time.time() - peer.time_found > 60 * 60 * 4: # Not found on tracker or via pex in last 4 hour + if time.time() - peer.time_found > ttl: # Not found on tracker or via pex in last 4 hour peer.remove() removed += 1 if removed > len(peers) * 0.1: # Don't remove too much at once