@@ -5,7 +5,7 @@ import { logger } from '@/lib/utils';
5
5
import { queueingService } from '@/services' ;
6
6
import type { IRedisClient , IRequestMatchEvent } from '@/types' ;
7
7
8
- import { MATCHING_EVENT , WS_EVENT } from './events' ;
8
+ import { MATCHING_EVENT , WS_EVENT } from './events' ;
9
9
10
10
type ISocketIOServer < T > = Server < DefaultEventsMap , DefaultEventsMap , DefaultEventsMap , T > ;
11
11
type ISocketIOSocket < T > = Socket < DefaultEventsMap , DefaultEventsMap , DefaultEventsMap , T > ;
@@ -56,31 +56,37 @@ export const queueEventHandler =
56
56
( ! payload . topic && ! payload . difficulty ) ||
57
57
( payload . topic && ! Array . isArray ( payload . topic ) )
58
58
) {
59
- socket . emit ( MATCHING_EVENT . ERROR , `Payload for ${ WS_EVENT . START_QUEUING } is invalid.` ) ;
59
+ const message = `Payload for ${ WS_EVENT . START_QUEUING } is invalid.` ;
60
+ logger . warn ( message ) ;
61
+ socket . emit ( MATCHING_EVENT . ERROR , message ) ;
60
62
return ;
61
63
}
62
64
63
65
// 3. Start Queuing
64
- if ( ! redisClient || ! redisClient . isOpen || ! redisClient . isReady ) {
65
- try {
66
+ try {
67
+ if ( ! redisClient || ! redisClient . isOpen || ! redisClient . isReady ) {
66
68
redisClient = await client . connect ( ) ;
67
- const { userId, difficulty, topic } = payload ;
68
- const timestamp = `${ Date . now ( ) } ` ;
69
- await queueingService ( redisClient , {
70
- userId,
71
- difficulty,
72
- topic,
73
- socketPort : roomId ,
74
- timestamp,
75
- } ) ;
76
- } catch ( error ) {
77
- const { name, message, stack, cause } = error as Error ;
78
- logger . error ( { name, message, stack, cause } , `An error occurred connecting to the client` ) ;
79
- socket . emit ( MATCHING_EVENT . ERROR , 'Error connecting to client' ) ;
80
- return ;
81
69
}
82
- }
83
70
84
- socket . emit ( MATCHING_EVENT . QUEUED ) ;
85
- logQueueStatus ( logger , redisClient , `Queue Status Before Matching: <PLACEHOLDER>` ) ;
71
+ const { userId, difficulty, topic } = payload ;
72
+ const timestamp = `${ Date . now ( ) } ` ;
73
+ await queueingService ( redisClient , {
74
+ userId,
75
+ difficulty,
76
+ topic,
77
+ socketPort : roomId ,
78
+ timestamp,
79
+ } ) ;
80
+ socket . emit ( MATCHING_EVENT . QUEUED ) ;
81
+ await logQueueStatus (
82
+ logger ,
83
+ redisClient ,
84
+ `[ws::queueEventHandler] Queue Status Before Matching: <PLACEHOLDER>`
85
+ ) ;
86
+ } catch ( error ) {
87
+ const { name, message, stack, cause } = error as Error ;
88
+ logger . error ( { name, message, stack, cause } , `An error occurred.` ) ;
89
+ socket . emit ( MATCHING_EVENT . ERROR , 'Error connecting to client' ) ;
90
+ return ;
91
+ }
86
92
} ;
0 commit comments