From 58d7e7d5f94cf5a6c92059d4c8663741e3237584 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Mon, 29 May 2017 12:26:38 +0200 Subject: [PATCH] multiple tries loading counters --- src/catalogue/helpers.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/catalogue/helpers.py b/src/catalogue/helpers.py index 97c63d08c..4dd7bda9f 100644 --- a/src/catalogue/helpers.py +++ b/src/catalogue/helpers.py @@ -28,8 +28,17 @@ def get_top_level_related_tags(tags, categories=None): global _COUNTERS, _COUNTER_TIME # First, check that we have a valid and recent version of the counters. if getmtime(settings.CATALOGUE_COUNTERS_FILE) > _COUNTER_TIME: - with open(settings.CATALOGUE_COUNTERS_FILE) as f: - _COUNTERS = cPickle.load(f) + for i in xrange(10): + try: + with open(settings.CATALOGUE_COUNTERS_FILE) as f: + _COUNTERS = cPickle.load(f) + except (EOFError, ValueError): + if i < 9: + continue + else: + raise + else: + break tagids = tuple(sorted(t.pk for t in tags)) try: -- 2.20.1