Merge pull request #58 from killion/wrap-redis-and-postgres-in-a-try-catch
Wrap Prisma and IORedis in a try/catch with logging
This commit is contained in:
+4
-2
@@ -1,10 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "plunk",
|
"name": "plunk",
|
||||||
"version": "1.0.2",
|
"version": "1.0.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "agpl-3.0",
|
"license": "agpl-3.0",
|
||||||
"workspaces": {
|
"workspaces": {
|
||||||
"packages": ["packages/*"]
|
"packages": [
|
||||||
|
"packages/*"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"npm": ">=6.14.x",
|
"npm": ">=6.14.x",
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ export const DISABLE_SIGNUPS = validateEnv("DISABLE_SIGNUPS", "false").toLowerCa
|
|||||||
export const API_URI = validateEnv("API_URI", "http://localhost:4000");
|
export const API_URI = validateEnv("API_URI", "http://localhost:4000");
|
||||||
export const APP_URI = validateEnv("APP_URI", "http://localhost:3000");
|
export const APP_URI = validateEnv("APP_URI", "http://localhost:3000");
|
||||||
|
|
||||||
|
if (!API_URI.startsWith("http")) {
|
||||||
|
throw new Error("API_URI must start with 'http'");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!APP_URI.startsWith("http")) {
|
||||||
|
throw new Error("APP_URI must start with 'http'");
|
||||||
|
}
|
||||||
|
|
||||||
// AWS
|
// AWS
|
||||||
export const AWS_REGION = validateEnv("AWS_REGION");
|
export const AWS_REGION = validateEnv("AWS_REGION");
|
||||||
export const AWS_ACCESS_KEY_ID = validateEnv("AWS_ACCESS_KEY_ID");
|
export const AWS_ACCESS_KEY_ID = validateEnv("AWS_ACCESS_KEY_ID");
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
import {PrismaClient} from '@prisma/client';
|
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};
|
||||||
|
|||||||
@@ -1,7 +1,16 @@
|
|||||||
import Redis from 'ioredis';
|
import Redis from 'ioredis';
|
||||||
import {REDIS_URL} from '../app/constants';
|
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_ONE_MINUTE = 60;
|
||||||
export const REDIS_DEFAULT_EXPIRY = REDIS_ONE_MINUTE / 60;
|
export const REDIS_DEFAULT_EXPIRY = REDIS_ONE_MINUTE / 60;
|
||||||
|
|||||||
Reference in New Issue
Block a user