From 0b38d73cc5c337a622f482ef92ef01805a35c76e Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sun, 26 Aug 2018 22:52:21 +0200 Subject: [PATCH] AnnounceZero return None on skipped announce due batching --- plugins/AnnounceShare/AnnounceSharePlugin.py | 2 +- plugins/AnnounceZero/AnnounceZeroPlugin.py | 4 ++-- src/Site/SiteAnnouncer.py | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/AnnounceShare/AnnounceSharePlugin.py b/plugins/AnnounceShare/AnnounceSharePlugin.py index d4c44144..7fac3e64 100644 --- a/plugins/AnnounceShare/AnnounceSharePlugin.py +++ b/plugins/AnnounceShare/AnnounceSharePlugin.py @@ -135,7 +135,7 @@ class SiteAnnouncerPlugin(object): if res: latency = res tracker_storage.onTrackerSuccess(tracker, latency) - else: + elif res is False: tracker_storage.onTrackerError(tracker) return res diff --git a/plugins/AnnounceZero/AnnounceZeroPlugin.py b/plugins/AnnounceZero/AnnounceZeroPlugin.py index 42df0915..b86f6ae7 100644 --- a/plugins/AnnounceZero/AnnounceZeroPlugin.py +++ b/plugins/AnnounceZero/AnnounceZeroPlugin.py @@ -63,7 +63,7 @@ class SiteAnnouncerPlugin(object): else: # Multi: Announce all currently serving site full_announce = True 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() from Site import SiteManager 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) ) - return None + return True diff --git a/src/Site/SiteAnnouncer.py b/src/Site/SiteAnnouncer.py index 4fe62708..f4314dd5 100644 --- a/src/Site/SiteAnnouncer.py +++ b/src/Site/SiteAnnouncer.py @@ -158,6 +158,7 @@ class SiteAnnouncer(object): 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} + last_status = self.stats[tracker]["status"] self.stats[tracker]["status"] = "announcing" self.stats[tracker]["time_request"] = time.time() self.stats[tracker]["num_request"] += 1 @@ -188,11 +189,16 @@ class SiteAnnouncer(object): self.updateWebsocket(tracker="error") 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]["time_status"] = time.time() 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 # Adding peers