From 4092cbc0f66c46041c5cbeedc25ae0bf3280679a Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Tue, 29 Sep 2015 02:03:22 -0500 Subject: [PATCH] Keep all workers' backgrounds in sync, and ensure they update at 00:00 UTC. --- copyvios/background.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/copyvios/background.py b/copyvios/background.py index 753cef9..ff95034 100644 --- a/copyvios/background.py +++ b/copyvios/background.py @@ -39,6 +39,9 @@ def _get_fresh_list(): page = site.get_page("User:The Earwig/POTD") regex = ur"\*\*?\s*\[\[:File:(.*?)\]\]" filenames = re.findall(regex, page.get()) + + # Ensure all workers share the same background each day: + random.seed(datetime.utcnow().strftime("%Y%m%d")) filename = random.choice(filenames) return _load_file(site, filename) @@ -66,7 +69,7 @@ def _get_background(selected): if datetime.utcnow() > max_age: update_func = _BACKGROUNDS.get(selected, _get_fresh_list) cache.background_data[selected] = update_func() - cache.last_background_updates[selected] = datetime.utcnow() + cache.last_background_updates[selected] = datetime.utcnow().date() return cache.background_data[selected] def set_background(selected):