From 1a6c56e9a31983386ace77158eaa833f3e58be6a Mon Sep 17 00:00:00 2001 From: Rafi Date: Sun, 19 Jan 2020 14:24:07 -0800 Subject: [PATCH] Ensure redis connection error is logged only once --- src/backend/lib/queue.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/backend/lib/queue.js b/src/backend/lib/queue.js index 3e9a4c0385..fcdacce3ca 100644 --- a/src/backend/lib/queue.js +++ b/src/backend/lib/queue.js @@ -9,6 +9,7 @@ const { logger } = require('../utils/logger'); const client = createRedisClient(); const subscriber = createRedisClient(); +let redisErrorLogged = false; /** * Create a Queue with the given `name` (String). @@ -32,11 +33,14 @@ function createQueue(name) { .on('error', err => { // An error occurred if (err.code === 'ECONNREFUSED') { - logger.error( - '\n\n\t💡 It appears that Redis is not running on your machine.', - '\n\t Please see our documentation for how to install and run Redis:', - '\n\t https://github.com/Seneca-CDOT/telescope/blob/master/docs/CONTRIBUTING.md\n' - ); + if (!redisErrorLogged) { + logger.error( + '\n\n\t💡 It appears that Redis is not running on your machine.', + '\n\t Please see our documentation for how to install and run Redis:', + '\n\t https://github.com/Seneca-CDOT/telescope/blob/master/docs/CONTRIBUTING.md\n' + ); + redisErrorLogged = true; + } } else { logger.error({ err }, `Queue ${name} error`); }