From 69e53c998f538e7f4c9a1ffff8eba6873deae3b4 Mon Sep 17 00:00:00 2001 From: Daniel Silva Date: Fri, 1 Nov 2019 16:20:59 -0500 Subject: [PATCH] New retrying library (tenacity) --- requirements.txt | 2 +- semanticscholar/restful.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/requirements.txt b/requirements.txt index 699e2b7..d0a8125 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,8 +9,8 @@ Pygments==2.4.2 readme-renderer==24.0 requests==2.22.0 requests-toolbelt==0.9.1 -retrying==1.3.3 six==1.12.0 +tenacity==5.1.5 tqdm==4.32.2 twine==1.13.0 urllib3==1.25.3 diff --git a/semanticscholar/restful.py b/semanticscholar/restful.py index 5c0f8e2..7a47dd3 100644 --- a/semanticscholar/restful.py +++ b/semanticscholar/restful.py @@ -1,5 +1,5 @@ import requests -from retrying import retry +from tenacity import * API_URL = 'http://api.semanticscholar.org/v1' @@ -31,10 +31,9 @@ def author(id) -> dict: return data @retry( - retry_on_exception=lambda x: isinstance(x, ConnectionRefusedError), - stop_max_attempt_number=12, - wait_random_min=1000, - wait_random_max=5000 + wait=wait_fixed(30), + retry=retry_if_exception_type(ConnectionRefusedError), + stop=stop_after_attempt(10) ) def __get_data(method, id, include_unknown_references=False) -> dict: