From 51e55c2594622cb344fc1aec986bacb664ea8949 Mon Sep 17 00:00:00 2001 From: garrrikkotua Date: Thu, 2 Nov 2023 19:03:25 +0300 Subject: [PATCH 1/2] delay discord integration checks with 50% chance --- .../services/integrationTickProcessor.ts | 36 +++++++++++++++---- .../src/integrations/discord/index.ts | 2 +- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/backend/src/serverless/integrations/services/integrationTickProcessor.ts b/backend/src/serverless/integrations/services/integrationTickProcessor.ts index cbf427ec34..aceec16ac2 100644 --- a/backend/src/serverless/integrations/services/integrationTickProcessor.ts +++ b/backend/src/serverless/integrations/services/integrationTickProcessor.ts @@ -199,13 +199,35 @@ export class IntegrationTickProcessor extends LoggerBase { integration.id, ) if (!existingRun) { - logger.info({ integrationId: integration.id }, 'Triggering new integration check!') - await emitter.triggerIntegrationRun( - integration.tenantId, - integration.platform, - integration.id, - false, - ) + const rand = Math.random() + // 50% chance to delay the triggering of new integration checks for Discord integrations + if (newIntService.type === IntegrationType.DISCORD && rand > 0.5) { + // Delay the triggering of new integration checks for Discord integrations + const delay = 30 * 60 * 1000 // 30 minutes in milliseconds + setTimeout(async () => { + logger.info( + { integrationId: integration.id }, + 'Triggering new delayed integration check for Discord!', + ) + await emitter.triggerIntegrationRun( + integration.tenantId, + integration.platform, + integration.id, + false, + ) + }, delay) + } else { + logger.info( + { integrationId: integration.id }, + 'Triggering new integration check!', + ) + await emitter.triggerIntegrationRun( + integration.tenantId, + integration.platform, + integration.id, + false, + ) + } } else { logger.info({ integrationId: integration.id }, 'Existing run found, skipping!') } diff --git a/services/libs/integrations/src/integrations/discord/index.ts b/services/libs/integrations/src/integrations/discord/index.ts index a8806244d9..c03b2a796b 100644 --- a/services/libs/integrations/src/integrations/discord/index.ts +++ b/services/libs/integrations/src/integrations/discord/index.ts @@ -9,7 +9,7 @@ import processWebhookStream from './processWebhookStream' const descriptor: IIntegrationDescriptor = { type: PlatformType.DISCORD, memberAttributes: DISCORD_MEMBER_ATTRIBUTES, - checkEvery: 12 * 60, // 12 hours + checkEvery: 6 * 60, // 6 hours generateStreams, processStream, processData, From a9818748707df3fa891642b236b7796a758d95f2 Mon Sep 17 00:00:00 2001 From: garrrikkotua Date: Wed, 15 Nov 2023 16:36:08 +0300 Subject: [PATCH 2/2] change to 12 hours --- services/libs/integrations/src/integrations/discord/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/libs/integrations/src/integrations/discord/index.ts b/services/libs/integrations/src/integrations/discord/index.ts index c03b2a796b..a8806244d9 100644 --- a/services/libs/integrations/src/integrations/discord/index.ts +++ b/services/libs/integrations/src/integrations/discord/index.ts @@ -9,7 +9,7 @@ import processWebhookStream from './processWebhookStream' const descriptor: IIntegrationDescriptor = { type: PlatformType.DISCORD, memberAttributes: DISCORD_MEMBER_ATTRIBUTES, - checkEvery: 6 * 60, // 6 hours + checkEvery: 12 * 60, // 12 hours generateStreams, processStream, processData,