From 6f82a9d6d032983f57a10ed0063d3cc0253b1d8a Mon Sep 17 00:00:00 2001 From: Guillaume Clochard Date: Tue, 29 Aug 2023 22:08:03 +0200 Subject: [PATCH] try/catch parseFeed --- rss-to-tana/index.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/rss-to-tana/index.js b/rss-to-tana/index.js index ce76211..d7e0302 100644 --- a/rss-to-tana/index.js +++ b/rss-to-tana/index.js @@ -133,21 +133,25 @@ async function filterSavedItems(items) { } async function parseFeed(feed) { - const items = await extractItems(feed) - Log.debug(feed.url, `- ${items.length} items in feed`) + try { + const items = await extractItems(feed) + Log.debug(feed.url, `- ${items.length} items in feed`) - const notOldItems = await filterOlderItems(items) - Log.debug(feed.url, `- ${notOldItems.length} items young enough`) + const notOldItems = await filterOlderItems(items) + Log.debug(feed.url, `- ${notOldItems.length} items young enough`) - const notAlreadySaved = await filterSavedItems(notOldItems) - Log.info(feed.url, `- ${notAlreadySaved.length} new items`) + const notAlreadySaved = await filterSavedItems(notOldItems) + Log.info(feed.url, `- ${notAlreadySaved.length} new items`) - Tana.saveItems(notAlreadySaved); + Tana.saveItems(notAlreadySaved); + } catch (error) { + Log.error('Error in parsing feed', feed.url, error) + } } async function parseFeeds() { for (const feed of rssFeeds) { - await parseFeed(feed) + await parseFeed(feed) } } @@ -173,7 +177,8 @@ async function scheduleFeeds() { (async () => { await Store.initialize() + await scheduleFeeds() + // we parse all feeds at app startup await parseFeeds() - await scheduleFeeds() })();