diff --git a/.circleci/config.yml b/.circleci/config.yml index 9b7a392..7a974fb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -77,6 +77,7 @@ workflows: - feat/ai-workflows - pm-1955_2 - re-try-failed-jobs + - pm-2539 - 'build-prod': diff --git a/.env.sample b/.env.sample index ef398d3..4698fae 100644 --- a/.env.sample +++ b/.env.sample @@ -73,3 +73,5 @@ SENDGRID_ACCEPT_REVIEW_APPLICATION="d-2de72880bd69499e9c16369398d34bb9" SENDGRID_REJECT_REVIEW_APPLICATION="d-82ed74e778e84d8c9bc02eeda0f44b5e" # For pulling payment details (used by platform-ui) FINANCE_DB_URL= +#Prisma timeout +REVIEW_SERVICE_PRISMA_TIMEOUT=10000 \ No newline at end of file diff --git a/src/shared/modules/global/challenge-prisma.service.ts b/src/shared/modules/global/challenge-prisma.service.ts index 8f32b4f..ba36c20 100644 --- a/src/shared/modules/global/challenge-prisma.service.ts +++ b/src/shared/modules/global/challenge-prisma.service.ts @@ -1,6 +1,7 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { PrismaClient, Prisma } from '@prisma/client'; import { LoggerService } from './logger.service'; +import { Utils } from './utils.service'; @Injectable() export class ChallengePrismaService @@ -11,6 +12,7 @@ export class ChallengePrismaService constructor() { super({ + ...Utils.getPrismaTimeout(), log: [ { level: 'query', emit: 'event' }, { level: 'info', emit: 'event' }, diff --git a/src/shared/modules/global/member-prisma.service.ts b/src/shared/modules/global/member-prisma.service.ts index cc1909b..5c2dbb1 100644 --- a/src/shared/modules/global/member-prisma.service.ts +++ b/src/shared/modules/global/member-prisma.service.ts @@ -1,6 +1,7 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { PrismaClient, Prisma } from '@prisma/client-member'; import { LoggerService } from './logger.service'; +import { Utils } from './utils.service'; @Injectable() export class MemberPrismaService @@ -11,6 +12,7 @@ export class MemberPrismaService constructor() { super({ + ...Utils.getPrismaTimeout(), log: [ { level: 'query', emit: 'event' }, { level: 'info', emit: 'event' }, diff --git a/src/shared/modules/global/prisma.service.ts b/src/shared/modules/global/prisma.service.ts index 404bb7c..eca8356 100644 --- a/src/shared/modules/global/prisma.service.ts +++ b/src/shared/modules/global/prisma.service.ts @@ -3,6 +3,7 @@ import { PrismaClient, Prisma } from '@prisma/client'; import { LoggerService } from './logger.service'; import { PrismaErrorService } from './prisma-error.service'; import { getStore } from 'src/shared/request/requestStore'; +import { Utils } from './utils.service'; enum auditField { createdBy = 'createdBy', @@ -197,6 +198,7 @@ export class PrismaService const schema = process.env.POSTGRES_SCHEMA || 'public'; super({ + ...Utils.getPrismaTimeout(), log: [ { level: 'query', emit: 'event' }, { level: 'info', emit: 'event' }, diff --git a/src/shared/modules/global/resource-prisma.service.ts b/src/shared/modules/global/resource-prisma.service.ts index 6d8a275..fff2152 100644 --- a/src/shared/modules/global/resource-prisma.service.ts +++ b/src/shared/modules/global/resource-prisma.service.ts @@ -1,6 +1,7 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { PrismaClient, Prisma } from '@prisma/client-resource'; import { LoggerService } from './logger.service'; +import { Utils } from './utils.service'; @Injectable() export class ResourcePrismaService @@ -11,6 +12,7 @@ export class ResourcePrismaService constructor() { super({ + ...Utils.getPrismaTimeout(), log: [ { level: 'query', emit: 'event' }, { level: 'info', emit: 'event' }, diff --git a/src/shared/modules/global/utils.service.ts b/src/shared/modules/global/utils.service.ts index 63cf5d4..60fa295 100644 --- a/src/shared/modules/global/utils.service.ts +++ b/src/shared/modules/global/utils.service.ts @@ -4,4 +4,14 @@ export class Utils { static bigIntToNumber(t) { return t ? Number(t) : null; } + + static getPrismaTimeout() { + return { + transactionOptions: { + timeout: process.env.REVIEW_SERVICE_PRISMA_TIMEOUT + ? parseInt(process.env.REVIEW_SERVICE_PRISMA_TIMEOUT, 10) + : 10000, + }, + }; + } }