From 5f081cf46fe79b6d016c136e2e80eaffde36d422 Mon Sep 17 00:00:00 2001
From: Ayc0 <benjamin.koltes@gmail.com>
Date: Tue, 27 Mar 2018 15:20:21 +0200
Subject: [PATCH] fix: if function in interval fails, retry it after initial
 ttl

---
 server/utils.js | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/server/utils.js b/server/utils.js
index 7959483..2fa81bd 100644
--- a/server/utils.js
+++ b/server/utils.js
@@ -4,9 +4,15 @@ const { cert } = require('./config');
 
 const interval = (fn, initialTTL, output = { id: null, clear: () => undefined }) => {
   const timeoutID = setTimeout(async () => {
-    let TTL = fn();
-    if (TTL instanceof Promise) {
-      TTL = await TTL;
+    let TTL;
+    try {
+      TTL = fn();
+      if (TTL instanceof Promise) {
+        TTL = await TTL;
+      }
+    } catch (error) {
+      console.error(error);
+      TTL = initialTTL;
     }
     const nextTTL = parseInt(TTL, 10) || initialTTL;
     interval(fn, nextTTL, output);
-- 
GitLab