summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormsglm <msglm@techchud.xyz>2023-01-23 11:35:07 -0600
committermsglm <msglm@techchud.xyz>2023-01-23 11:35:07 -0600
commit2fbd0cbf5e6c966b5260d07e8422cc4045ccdf43 (patch)
treed7826ab2fa291057c54dcdc0d9e1ccc746e06c04 /src
parent6e407b8eea04d9650946d55df75135b2ceb53b6f (diff)
downloadindeedwatcher-2fbd0cbf5e6c966b5260d07e8422cc4045ccdf43.tar.gz
indeedwatcher-2fbd0cbf5e6c966b5260d07e8422cc4045ccdf43.tar.bz2
indeedwatcher-2fbd0cbf5e6c966b5260d07e8422cc4045ccdf43.zip
spruced up the retry feature for slower connections and better stabilityv1.0.2
Diffstat (limited to 'src')
-rw-r--r--src/indeedwatcher.nim31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/indeedwatcher.nim b/src/indeedwatcher.nim
index 69c0071..7419321 100644
--- a/src/indeedwatcher.nim
+++ b/src/indeedwatcher.nim
@@ -71,13 +71,17 @@ for feed in feeds:
#Getting the listing URLs from the feeds
var rssFeedReply: RSS
- #TODO implement a retry-on-fail system
- try:
- echo "now reading " & feed
- rssFeedReply = getRSS(feed)
- except:
- raise
-
+ for attempt in countup(0,3):
+ try:
+ echo "now reading " & feed
+ rssFeedReply = getRSS(feed)
+ except:
+ if attempt < 3:
+ echo "Recieved an error: trying again..."
+ continue
+ else:
+ raise
+ break
for entry in rssFeedReply.items:
#Sleep so indeed.com doesn't freak out
@@ -90,8 +94,17 @@ for feed in feeds:
var URL = entry.link
let URLID = entry.link.split('&')[3]
if not any(cache, proc (input: string): bool = input.contains(URLID)):
- echo "Telling chromium to navigate to " & URL
- session.navigate(URL)
+ for attempt in countup(0,3):
+ try:
+ echo "Telling chromium to navigate to " & URL
+ session.navigate(URL)
+ except:
+ if attempt < 3:
+ echo "Recieved an error: trying again..."
+ continue
+ else:
+ raise
+ break
counter = counter + 1
#HTML Parser