diff --git a/modules/recheckwatch/files/recheckwatch b/modules/recheckwatch/files/recheckwatch index 11238d7857..1fa7e5a112 100755 --- a/modules/recheckwatch/files/recheckwatch +++ b/modules/recheckwatch/files/recheckwatch @@ -102,6 +102,7 @@ class Scoreboard(threading.Thread): self.template_dir = config.get('recheckwatch', 'template_dir') self.output_file = config.get('recheckwatch', 'output_file') self.age = config.getint('recheckwatch', 'age') + self.closed_age = config.getint('recheckwatch', 'closed_age') self.regex = re.compile(config.get('recheckwatch', 'regex')) if os.path.exists(self.pickle_file): @@ -161,10 +162,13 @@ class Scoreboard(threading.Thread): del self.scores[bugno] # Remove bugs that haven't been seen in ages + # Or closed bugs older then self.closed_age to_remove = [] now = datetime.datetime.utcnow() for bugno, bug in self.scores.items(): - if bug.last_seen < now-datetime.timedelta(days=self.age): + if (bug.last_seen < now-datetime.timedelta(days=self.age) or + (bug.is_closed() and + bug.last_seen < now-datetime.timedelta(days=self.closed_age))): to_remove.append(bugno) for bugno in to_remove: del self.scores[bugno] diff --git a/modules/recheckwatch/templates/recheckwatch.conf.erb b/modules/recheckwatch/templates/recheckwatch.conf.erb index 8661d0851d..454e8ee716 100644 --- a/modules/recheckwatch/templates/recheckwatch.conf.erb +++ b/modules/recheckwatch/templates/recheckwatch.conf.erb @@ -3,6 +3,7 @@ pickle_dir=/var/lib/recheckwatch template_dir=/var/lib/recheckwatch output_file=/var/www/recheckwatch/rechecks.html age=30 ; days +closed_age=5 ; days regex=(?i)^(?Precheck|reverify) (?:bug|lp)[\s#:]*(?P\d+)$ [gerrit]