@@ -61,21 +61,26 @@ export async function checkQueue (_: unknown, context: JobContext) {
6161 return ;
6262 }
6363
64- const usersToQueue = uniq ( modQueue
64+ const usersInModqueue = uniq ( modQueue
6565 . filter ( item => item . authorName !== "[deleted]" )
6666 . map ( item => item . authorName ) ) ;
6767
68- const existingQueue = await context . redis . zRange ( USER_QUEUE_KEY , 0 , - 1 ) ;
69- const existingUsers = new Set ( existingQueue . map ( user => user . member ) ) ;
70- const newUsers = usersToQueue . filter ( user => ! existingUsers . has ( user ) ) ;
68+ const existingCheckQueue = await context . redis . zRange ( USER_QUEUE_KEY , 0 , - 1 ) ;
69+ const existingUsers = new Set ( existingCheckQueue . map ( user => user . member ) ) ;
70+ const newUsers = usersInModqueue . filter ( user => ! existingUsers . has ( user ) ) ;
7171
72- if ( newUsers . length === 0 ) {
73- console . log ( "No new users to add to the queue." ) ;
74- return ;
72+ if ( newUsers . length > 0 ) {
73+ await context . redis . zAdd ( USER_QUEUE_KEY , ... newUsers . map ( user => ( { member : user , score : Date . now ( ) } ) ) ) ;
74+ console . log ( `Check step: Added ${ newUsers . length } new ${ pluralize ( "user" , newUsers . length ) } to the queue.` ) ;
7575 }
7676
77- await context . redis . zAdd ( USER_QUEUE_KEY , ...newUsers . map ( user => ( { member : user , score : Date . now ( ) } ) ) ) ;
78- console . log ( `Check step: Added ${ newUsers . length } new ${ pluralize ( "user" , newUsers . length ) } to the queue.` ) ;
77+ const totalInQueue = await context . redis . zCard ( USER_QUEUE_KEY ) ;
78+ console . log ( `Check step: There are now ${ totalInQueue } ${ pluralize ( "user" , totalInQueue ) } in the queue.` ) ;
79+
80+ if ( totalInQueue === 0 ) {
81+ console . log ( "Check step: No users in the queue after processing, skipping scheduling prune job." ) ;
82+ return ;
83+ }
7984
8085 await context . scheduler . runJob ( {
8186 name : ScheduledJob . PruneUsers ,
0 commit comments