728x90

React/Node 3

[Nest js] Nest에서 반복 스케쥴러 작업 만들기 (feat. cron, @nestjs/schedule)

Nest 서버에서 윈도우 스케줄러 처럼 반복 작업을 만들 수 있다.나는 어떤 위치의 폴더에서 생성된 지 2주가 지난 파일들을 삭제해주는 작업을 만들어보려고 했던 내용을 정리할 겸 남겨보려고 한다. 우선 nest 에서 cron을 쓰기 위해 패키지를 설치해야한다. npm install @nestjs/schedule  명령어를 통해 nestjs/schedule 을 설치한다.  그리고 나서 사용하려는 서비스 안에서 서비스명 위에 @Cron('* * * * * *') 라고 선언을 해주면 된다.  Cron을 nestjs/schedule에서 import해서 사용하게 된다. Cron() 내부에 선언되는 변수는 실행 주기를 선언해주게 되는데, 예시로 들어간 * 6개는 매 초마다 실행하겠다는 뜻이다. import { Cr..

React/Node 2025.04.03

[Node] TypeOrm - Oracle Db 사용 시 Slow Query Timeout 방법

React - node (express)를 이용하여 웹 서비스를 운영중인데,조회 쿼리가 엄청나게 오래 걸려서 서버 connection pool이 꽉 차서 에러가 발생하는 일이 생겼다. 조회 쿼리를 수정해서 지금은 그런 문제는 없지만만약을 방지하기위해서 일정 시간 이상 걸리는 조회쿼리의 경우 db connection을 끊어서 쿼리 실행을 취소시키는 방법을 찾아보게 되었다. 그런데 찾아보니 typeorm을 사용하는 경우 oracle db 에서는 세션을 kill 하지 않는이상 실행중인 쿼리를 중단시킬 수 있는 방법이 없었다. 세션을 kill하는 방법은 너무 위험하기도 하고 권한이 필요해서 권장되지 않기 때문에 다른 방법을 찾게 되었다. 찾아보던 중 typeorm을 사용하지않고 직접 oracledb를 사용해서 ..

React/Node 2024.10.21

Node express - frontend에서 넘어오는 request 본문 크기 제한 설정방법

React - node (express)를 이용하여 웹 서비스를 운영중인데,프론트쪽에서 request를 넘겨주는 부분에서 너무 큰 데이터를 넘겼다고 에러가 발생했다. PayLoad Too Large error 였는데 너무 큰 본문을 요청해서 발생한 에러였다.알고보니 request에서 json 데이터를 넘겨줄 수 있는 데이터 제한은 디폴트값이 100KB라고 한다.그래서 이부분을 늘려주기위해서는 백엔드에서 main.ts파일에 limit을 설정해주어야 한다. import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';import * as bodyParser from 'body-parser'; // body-parser ..

React/Node 2024.10.16
728x90