From a4ad9b7cb0a706fdd8b307c08163ed8217549561 Mon Sep 17 00:00:00 2001 From: Kyle Killion Date: Thu, 15 Aug 2024 23:22:24 -0700 Subject: [PATCH] Wrap Prisma and IORedis in a try/catch with logging --- packages/api/src/database/prisma.ts | 10 +++++++++- packages/api/src/services/redis.ts | 11 ++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/api/src/database/prisma.ts b/packages/api/src/database/prisma.ts index 233a2c2..f08d49d 100644 --- a/packages/api/src/database/prisma.ts +++ b/packages/api/src/database/prisma.ts @@ -1,3 +1,11 @@ import {PrismaClient} from '@prisma/client'; +import signale from 'signale'; -export const prisma = new PrismaClient(); +let prisma: PrismaClient; +try { + prisma = new PrismaClient(); + signale.info('Prisma initialized'); +} catch (error) { + signale.error('Failed to initialize Prisma: ', error); +} +export {prisma}; diff --git a/packages/api/src/services/redis.ts b/packages/api/src/services/redis.ts index 64879ed..1e710d1 100644 --- a/packages/api/src/services/redis.ts +++ b/packages/api/src/services/redis.ts @@ -1,7 +1,16 @@ import Redis from 'ioredis'; import {REDIS_URL} from '../app/constants'; +import signale from "signale"; -export const redis = new Redis(REDIS_URL); +let redis: Redis; +try { + redis = new Redis(REDIS_URL); + const infoString = redis.info(); + signale.info('Redis initialized: ', infoString); +} catch (error) { + signale.error('Failed to initialize Redis: ', error); +} +export {redis}; export const REDIS_ONE_MINUTE = 60; export const REDIS_DEFAULT_EXPIRY = REDIS_ONE_MINUTE / 60;