Skip to content

Commit

Permalink
fix: adding backoff to all todoist methods
Browse files Browse the repository at this point in the history
  • Loading branch information
iloveitaly committed Nov 28, 2023
1 parent 132f47e commit 5a54e1a
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions todoist_scheduler/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,37 @@
logger.setLevel(getattr(logging, log_level.upper(), logging.INFO))


# https://github.com/Doist/todoist-api-python/issues/38
# backoff 5xx errors
def patch_todoist_api():
import todoist_api_python.http_requests
import backoff
import requests

patch_targets = ["delete", "get", "json", "post"]
for target in patch_targets:
original_function = getattr(todoist_api_python.http_requests, target)

setattr(
todoist_api_python.http_requests,
f"original_{target}",
original_function,
)

patched_function = backoff.on_exception(
backoff.expo, requests.exceptions.HTTPError
)(original_function)

setattr(
todoist_api_python.http_requests,
target,
patched_function,
)


patch_todoist_api()


def _is_internet_connected():
import socket

Expand Down

0 comments on commit 5a54e1a

Please sign in to comment.