@@ -19,6 +19,8 @@ import { eventQueue } from '../queues/event/queue';
1919import { eventQueueJobSchema } from '../queues/event/schemas' ;
2020import { populateLeaderboardCacheQueue } from '../queues/populate-leaderboard-cache/queue' ;
2121import { populateLeaderboardCacheSchema } from '../queues/populate-leaderboard-cache/schemas' ;
22+ import { processWeekQueue } from '../queues/process-week/queue' ;
23+ import { ProcessWeekJobSchema } from '../queues/process-week/schemas' ;
2224import { scheduledCalculationsQueue } from '../queues/scheduled-calculations/queue' ;
2325import { scheduledSnapshotQueue } from '../queues/scheduled-snapshot/queue' ;
2426import { snapshotQueue } from '../queues/snapshot/queue' ;
@@ -46,6 +48,8 @@ metricsApp.get('/metrics', async (c) => {
4648 await scheduledCalculationsQueue . queue . exportPrometheusMetrics ( ) ;
4749 const populateLeaderboardCacheQueueMetrics =
4850 await populateLeaderboardCacheQueue . queue . exportPrometheusMetrics ( ) ;
51+ const processWeekQueueMetrics =
52+ await processWeekQueue . queue . exportPrometheusMetrics ( ) ;
4953 return c . text (
5054 [
5155 snapshotQueueMetrics ,
@@ -55,6 +59,7 @@ metricsApp.get('/metrics', async (c) => {
5559 calculateActivityPointsQueueMetrics ,
5660 scheduledCalculationsQueueMetrics ,
5761 populateLeaderboardCacheQueueMetrics ,
62+ processWeekQueueMetrics ,
5863 ] . join ( '\n' ) ,
5964 ) ;
6065} ) ;
@@ -116,6 +121,16 @@ app.post('/queues/calculate-season-points/add', async (c) => {
116121 return c . text ( 'ok' ) ;
117122} ) ;
118123
124+ app . post ( '/queues/process-week/add' , async ( c ) => {
125+ const input = await c . req . json ( ) ;
126+ const parsedInput = ProcessWeekJobSchema . safeParse ( input ) ;
127+ if ( ! parsedInput . success ) {
128+ return c . json ( { error : parsedInput . error . message } , 400 ) ;
129+ }
130+ await processWeekQueue . queue . add ( 'process-week' , parsedInput . data ) ;
131+ return c . text ( 'ok' ) ;
132+ } ) ;
133+
119134app . post ( '/queues/calculate-season-points-multiplier/add' , async ( c ) => {
120135 const input = await c . req . json ( ) ;
121136 const parsedInput = seasonPointsMultiplierJobSchema . safeParse ( input ) ;
@@ -169,6 +184,7 @@ createBullBoard({
169184 new BullMQAdapter ( seasonPointsMultiplierQueue . queue ) ,
170185 new BullMQAdapter ( scheduledCalculationsQueue . queue ) ,
171186 new BullMQAdapter ( populateLeaderboardCacheQueue . queue ) ,
187+ new BullMQAdapter ( processWeekQueue . queue ) ,
172188 ] ,
173189 serverAdapter,
174190} ) ;
0 commit comments