From 465330fae1d00cacd8b04367080234c99f8bb60c Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sun, 14 Apr 2024 14:57:25 -0700 Subject: [PATCH] Log to warning when filter has an error. --- .../backend/endpoints/filter_endpoints.py | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/frontends/bringrss_flask/backend/endpoints/filter_endpoints.py b/frontends/bringrss_flask/backend/endpoints/filter_endpoints.py index a193011..4e849cb 100644 --- a/frontends/bringrss_flask/backend/endpoints/filter_endpoints.py +++ b/frontends/bringrss_flask/backend/endpoints/filter_endpoints.py @@ -1,6 +1,10 @@ import flask; from flask import request +import traceback from voussoirkit import flasktools +from voussoirkit import vlogging + +log = vlogging.get_logger(__name__) from .. import common @@ -77,15 +81,19 @@ def post_run_filter_now(filter_id): else: feed = None - with common.bringdb.transaction: - filt = common.get_filter(filter_id, response_type='json') - newss = list(common.bringdb.get_newss( - feed=feed, - read=None, - recycled=None, - )) - for news in newss: - filt.process_news(news) + try: + with common.bringdb.transaction: + filt = common.get_filter(filter_id, response_type='json') + newss = list(common.bringdb.get_newss( + feed=feed, + read=None, + recycled=None, + )) + log.info('Running %s.', filt) + for news in newss: + filt.process_news(news) + except Exception as exc: + log.warning('Running %s raised:\n%s', filt, traceback.format_exc()) return flasktools.json_response({})