Skip to content

Commit 298c503

Browse files
authored
Merge pull request #4 from tommilligan/more-robust
More robust
2 parents b031b7f + 1afae11 commit 298c503

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

main.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from enum import Enum
1212
from typing import Callable, Iterable, List, Optional, Protocol, Union
1313

14-
import backoff
1514
import recurring_ical_events
1615
from dotenv import load_dotenv
1716
import icalendar
@@ -25,8 +24,6 @@
2524

2625
_log = logging.getLogger(__file__)
2726

28-
_DEFAULT_DISPLAY = " " * 8 + "."
29-
3027

3128
class Uninitialized(Enum):
3229
"""Indicates a missing value."""
@@ -95,13 +92,6 @@ def fetch(self) -> icalendar.cal.Component:
9592
calendar = icalendar.Calendar.from_ical(ics)
9693
return calendar
9794

98-
@backoff.on_exception(
99-
backoff.expo,
100-
RequestException,
101-
max_tries=5,
102-
logger=_log,
103-
backoff_log_level=logging.WARNING,
104-
)
10595
def _fetch_remote(self) -> str:
10696
_log.info("Fetching ics file from remote url %r", self._ics_url)
10797
return self._session.get(self._ics_url).text
@@ -294,6 +284,7 @@ def run(self) -> None:
294284
def poll(self) -> None:
295285
try:
296286
self._calendar = self._calendar_queue.get(timeout=self._poll_interval)
287+
_log.info("Loaded new calendar for RelevantMarkExtractor")
297288
except queue.Empty:
298289
pass
299290

@@ -416,18 +407,23 @@ def run(self) -> None:
416407
calendar_queue = queue.Queue(1)
417408
relevant_mark_queue = queue.Queue(1)
418409

419-
def calendar_fetcher_loop() -> None:
420-
_log.debug("Fetching calendar")
421-
calendar = self._calendar_fetcher.fetch()
410+
def calendar_fetcher_poll() -> None:
411+
_log.info("Fetching calendar")
412+
try:
413+
calendar = self._calendar_fetcher.fetch()
414+
except RequestException:
415+
_log.exception("Fetching calendar failed, no calendar added to queue")
416+
return
417+
422418
try:
423419
calendar_queue.put(calendar)
424420
except queue.Full:
425421
pass
426-
_log.debug("Fetched calendar")
422+
_log.info("Fetched calendar")
427423

428424
def calender_fetcher_run() -> None:
429425
poll_until_shutdown(
430-
calendar_fetcher_loop,
426+
calendar_fetcher_poll,
431427
self._calendar_fetch_interval,
432428
self._shutdown_event,
433429
)

0 commit comments

Comments
 (0)