From 479f33888f904c9d4deb991c56050cc7f6bddf41 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 19 Jan 2011 19:18:33 +0100 Subject: [PATCH] tracker: Make interval for clients random. Some clients send dozens requests at the same time and this is not very good for both, the client and the server. --- www/webapp/backend/tracker.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/www/webapp/backend/tracker.py b/www/webapp/backend/tracker.py index eae50d35..99624fae 100644 --- a/www/webapp/backend/tracker.py +++ b/www/webapp/backend/tracker.py @@ -1,5 +1,6 @@ #!/usr/bin/python +import random import time from databases import Databases @@ -20,8 +21,10 @@ class Tracker(object): id = "TheIPFireTorrentTracker" # Intervals # XXX needs to be in Settings - interval = 60*60 - min_interval = 30*60 + _interval = 60*60 + _min_interval = 30*60 + + random_interval = -60, 60 numwant = 50 @@ -151,6 +154,14 @@ class Tracker(object): def since(self): return int(time.time() - self.interval) + @property + def interval(self): + return self._interval + random.randint(*self.random_interval) + + @property + def min_interval(self): + return self._min_interval + random.randint(*self.random_interval) + ##### This is borrowed from the bittorrent client libary ##### -- 2.47.3