@@ -9,6 +9,7 @@ import { ClaudeEventWorker } from './event_worker/workers/claude-event-worker';
99import * as schedule from 'node-schedule' ;
1010import { RedisConnection } from './common/redis-access' ;
1111import { FullFeedCrawlEventWorker } from './event_worker/workers/full-feed-crawl-event-worker' ;
12+ import { RabbitMQManager } from './common/rabbitmq.manager' ;
1213
1314function initializeDependencies ( ) {
1415 return {
@@ -25,6 +26,9 @@ function initializeDependencies() {
2526 fullFeedCrawlEventWorker : container . resolve < FullFeedCrawlEventWorker > (
2627 DEPENDENCY_SYMBOLS . FullFeedCrawlEventWorker ,
2728 ) ,
29+ rabbitMQManager : container . resolve < RabbitMQManager > (
30+ DEPENDENCY_SYMBOLS . RabbitMQManager ,
31+ ) ,
2832 } ;
2933}
3034
@@ -59,18 +63,38 @@ async function handleShutdown(
5963 logger . info ( `${ signal } 신호 수신, feed-crawler 종료 중...` ) ;
6064 await dependencies . dbConnection . end ( ) ;
6165 await dependencies . redisConnection . quit ( ) ;
62- logger . info ( 'DB 및 Redis 연결 종료' ) ;
66+ await dependencies . rabbitMQManager . disconnect ( ) ;
67+ logger . info ( 'DB, Redis, RabbitMQ 연결 종료' ) ;
6368 process . exit ( 0 ) ;
6469}
6570
66- function startScheduler ( ) {
71+ async function startScheduler ( ) {
6772 logger . info ( '[Feed Crawler Scheduler Start]' ) ;
6873
6974 const dependencies = initializeDependencies ( ) ;
75+ await initializeRabbitMQ ( dependencies ) ;
7076 registerSchedulers ( dependencies ) ;
7177
7278 process . on ( 'SIGINT' , ( ) => handleShutdown ( dependencies , 'SIGINT' ) ) ;
7379 process . on ( 'SIGTERM' , ( ) => handleShutdown ( dependencies , 'SIGTERM' ) ) ;
7480}
7581
76- startScheduler ( ) ;
82+ async function initializeRabbitMQ (
83+ dependencies : ReturnType < typeof initializeDependencies > ,
84+ ) {
85+ try {
86+ logger . info ( `RabbitMQ 초기화 시작...` ) ;
87+
88+ await dependencies . rabbitMQManager . connect ( ) ;
89+
90+ logger . info ( `RabbitMQ 초기화 완료` ) ;
91+ } catch ( error ) {
92+ logger . error ( `RabbitMQ 초기화 실패:` , error ) ;
93+ throw error ;
94+ }
95+ }
96+
97+ startScheduler ( ) . catch ( ( error ) => {
98+ logger . error ( `스케줄러 시작 실패: ` , error ) ;
99+ process . exit ( 1 ) ;
100+ } ) ;
0 commit comments