From 2f1b0c96f10e9587b41798647955e38bc7fd7759 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 14 Jul 2018 21:34:25 -0400 Subject: [PATCH] retry if deleting docs fail --- search/search.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/search/search.py b/search/search.py index f3e19d0..f537718 100644 --- a/search/search.py +++ b/search/search.py @@ -95,22 +95,25 @@ class ElasticSearchEngine(SearchEngine): def delete_docs(self, website_id): - try: - print("Deleting docs of " + str(website_id)) - self.es.delete_by_query(body={ - "query": { - "constant_score": { - "filter": { - "term": {"website_id": website_id} + while True: + try: + print("Deleting docs of " + str(website_id)) + self.es.delete_by_query(body={ + "query": { + "constant_score": { + "filter": { + "term": {"website_id": website_id} + } } } - } - }, index=self.index_name, request_timeout=200) - except elasticsearch.exceptions.ConflictError: - print("Error: multiple delete tasks at the same time") - except Exception: - print("Timeout during delete!") - time.sleep(30) + }, index=self.index_name, request_timeout=200) + break + except elasticsearch.exceptions.ConflictError: + print("Error: multiple delete tasks at the same time, retrying") + time.sleep(10) + except Exception: + print("Timeout during delete! Retrying") + time.sleep(10) def import_json(self, in_lines, website_id: int):