괴발개발/node.js
[node.js 교과서] ch13. 실시간 경매 시스템 만들기
ebulsok
2023. 2. 7. 17:55
서버센트 이벤트(sse)
sse 모듈을 불러와 new SSE(익스프레스 서버)로 서버 객체 생성
생성한 객체에는 connection 이벤트 리스너를 연결하여 클라이언트와 연결할 때 어떤 동작을 할지 정의, 매개변수로 client 객체 사용(client.send: 클라이언트에 메시지 전송, 문자열만 가능)
라우터에서 SSE를 사용하고 싶다면 app.set 메서드로 client 객체를 등록하고, req.app.get으로 가져옴
IE, 엣지 브라우저에서 사용 불가: EventSource 지원하지 않기 때문, 그러나 사용자가 직접 구현할 수 있음
스케줄링(node-schedule)
schedule 객체의 scheduleJob 메서드로 일정 예약
- 첫번째 인수: 시행될 시각
- 두번째 인수: 해당 시각이 되었을 때 수행할 콜백
*{ 컬럼: sequelize.literal(컬럼 - 숫자) }: 시퀄라이즈에서 해당 컬럼의 숫자를 줄이는 방법
단점: 스케줄링이 노드 기반으로 작동하므로 노드가 종료되면 스케줄 예약도 같이 종료되기 때문에 별도의 코드 필요