AnnounceZero return None on skipped announce due batching

This commit is contained in:
shortcutme 2018-08-26 22:52:21 +02:00
parent 7a3dbf626e
commit 0b38d73cc5
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
3 changed files with 10 additions and 4 deletions

View file

@ -135,7 +135,7 @@ class SiteAnnouncerPlugin(object):
if res: if res:
latency = res latency = res
tracker_storage.onTrackerSuccess(tracker, latency) tracker_storage.onTrackerSuccess(tracker, latency)
else: elif res is False:
tracker_storage.onTrackerError(tracker) tracker_storage.onTrackerError(tracker)
return res return res

View file

@ -63,7 +63,7 @@ class SiteAnnouncerPlugin(object):
else: # Multi: Announce all currently serving site else: # Multi: Announce all currently serving site
full_announce = True full_announce = True
if time.time() - time_full_announced.get(tracker_address, 0) < 60 * 5: # No reannounce all sites within 5 minute if time.time() - time_full_announced.get(tracker_address, 0) < 60 * 5: # No reannounce all sites within 5 minute
return [] return None
time_full_announced[tracker_address] = time.time() time_full_announced[tracker_address] = time.time()
from Site import SiteManager from Site import SiteManager
sites = [site for site in SiteManager.site_manager.sites.values() if site.settings["serving"]] sites = [site for site in SiteManager.site_manager.sites.values() if site.settings["serving"]]
@ -132,4 +132,4 @@ class SiteAnnouncerPlugin(object):
(tracker_address, site_index, peers_added, time.time() - s) (tracker_address, site_index, peers_added, time.time() - s)
) )
return None return True

View file

@ -158,6 +158,7 @@ class SiteAnnouncer(object):
if tracker not in self.stats: if tracker not in self.stats:
self.stats[tracker] = {"status": "", "num_request": 0, "num_success": 0, "num_error": 0, "time_request": 0, "time_last_error": 0} self.stats[tracker] = {"status": "", "num_request": 0, "num_success": 0, "num_error": 0, "time_request": 0, "time_last_error": 0}
last_status = self.stats[tracker]["status"]
self.stats[tracker]["status"] = "announcing" self.stats[tracker]["status"] = "announcing"
self.stats[tracker]["time_request"] = time.time() self.stats[tracker]["time_request"] = time.time()
self.stats[tracker]["num_request"] += 1 self.stats[tracker]["num_request"] += 1
@ -188,11 +189,16 @@ class SiteAnnouncer(object):
self.updateWebsocket(tracker="error") self.updateWebsocket(tracker="error")
return False return False
if peers is None: # Announce skipped
self.stats[tracker]["time_status"] = time.time()
self.stats[tracker]["status"] = last_status
return None
self.stats[tracker]["status"] = "announced" self.stats[tracker]["status"] = "announced"
self.stats[tracker]["time_status"] = time.time() self.stats[tracker]["time_status"] = time.time()
self.stats[tracker]["num_success"] += 1 self.stats[tracker]["num_success"] += 1
if peers is None: # No peers returned if peers is True: # Announce success, but no peers returned
return time.time() - s return time.time() - s
# Adding peers # Adding peers