From 64f2780a1bdb3de9e65dd23c885b85b215e4cb69 Mon Sep 17 00:00:00 2001 From: Richard Petersen <richard.petersen@open-xchange.com> Date: Wed, 17 Aug 2022 12:08:52 +0200 Subject: [PATCH] Only perform the version update if there has nothing changed within the last cycle --- src/version.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/version.js b/src/version.js index 783f6b1..87fe1bd 100644 --- a/src/version.js +++ b/src/version.js @@ -78,8 +78,14 @@ export async function updateVersionProcessor () { } logger.info(`[Version] Found new source version. Current version: '${storedVersion}', new version: '${fetchedVersion}'`) if (redis.isEnabled()) { - redis.pubClient.publish(getRedisKey({ name: 'updateLatestVersion' }), fetchedVersion) - await redis.client.set(getRedisKey({ name: 'latestVersion' }), fetchedVersion) + const prevProcessedVersion = await redis.client.get(getRedisKey({ name: 'prevProcessedVersion' })) + // that means, that between the previous update processing and this one, there was no version change + if (prevProcessedVersion === fetchedVersion) { + redis.pubClient.publish(getRedisKey({ name: 'updateLatestVersion' }), fetchedVersion) + await redis.client.set(getRedisKey({ name: 'latestVersion' }), fetchedVersion) + } else { + await redis.client.set(getRedisKey({ name: 'prevProcessedVersion' }), fetchedVersion) + } } else { // if redis is disabled, this will only be trigger by a setInterval and not from a redis event logger.info('[Version] Clear local cache due to version update.') -- GitLab