From 8f03520645dfe6eecea271ead50463eefcf62a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Fri, 8 Mar 2024 10:31:14 +0100 Subject: [PATCH] fix api delayed jobs --- apps/sdk-api/src/controllers/event.controller.ts | 4 ++++ apps/sdk-api/src/utils/logger.ts | 15 +++++++++------ packages/queue/src/utils.ts | 8 ++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/apps/sdk-api/src/controllers/event.controller.ts b/apps/sdk-api/src/controllers/event.controller.ts index 111565c6..a1aa9c18 100644 --- a/apps/sdk-api/src/controllers/event.controller.ts +++ b/apps/sdk-api/src/controllers/event.controller.ts @@ -267,6 +267,10 @@ export async function postEvent( await withTiming('Promote previous job', prevEventJob.promote()); } + } else if (payload.name !== 'screen_view') { + contextLogger.send('no previous job', { + prevEventJob, + }); } if (createSessionStart) { diff --git a/apps/sdk-api/src/utils/logger.ts b/apps/sdk-api/src/utils/logger.ts index 1f03d4b2..eb3bf857 100644 --- a/apps/sdk-api/src/utils/logger.ts +++ b/apps/sdk-api/src/utils/logger.ts @@ -1,19 +1,22 @@ +import type { TransportTargetOptions } from 'pino'; import pino from 'pino'; -const ENABLED = process.env.NODE_ENV === 'production'; - -const transport = pino.transport({ - targets: ENABLED +const targets: TransportTargetOptions[] = + process.env.NODE_ENV === 'production' ? [ { target: '@logtail/pino', options: { sourceToken: process.env.BETTERSTACK_TOKEN }, }, + ] + : [ { target: 'pino-pretty', }, - ] - : [], + ]; + +const transport = pino.transport({ + targets, }); export const logger = pino(transport); diff --git a/packages/queue/src/utils.ts b/packages/queue/src/utils.ts index 3c2881bf..fbdf7c1c 100644 --- a/packages/queue/src/utils.ts +++ b/packages/queue/src/utils.ts @@ -1,13 +1,9 @@ import type { Queue } from 'bullmq'; -import { redis } from '../../redis'; - export async function findJobByPrefix( queue: Queue, matcher: string ) { - const prefix = `bull:${queue.name}:`; - const keys = await redis.keys(`${prefix}${matcher}*`); - const key = keys.findLast((key) => !key.endsWith(':logs')); - return key ? await queue.getJob(key.replace(prefix, '')) : undefined; + const delayed = await queue.getJobs('delayed'); + return delayed.find((job) => job.opts.jobId?.startsWith(matcher)); }