@@ -9,7 +9,7 @@ import { loadcronTasks } from './_functions/load-cron-tasks.function';
99import { ConfigService } from '@nestjs/config' ;
1010import { createHandlerLogger } from '~/_common/functions/handler-logger' ;
1111import { resolveConfigVariables } from '~/_common/functions/resolve-config-variables.function' ;
12- import { buildCronCommandArgs } from './_functions/cron-command-options.function' ;
12+ import { buildCronCommandArgs , resolveCronConsoleCommandWords } from './_functions/cron-command-options.function' ;
1313
1414@Injectable ( )
1515export class CronHooksService {
@@ -177,7 +177,9 @@ export class CronHooksService {
177177 }
178178
179179 // Supprimer les jobs qui ne sont plus dans les tâches désirées
180- for ( const [ name , job ] of existingJobs ) {
180+ // Itère sur une copie : getCronJobs() renvoie la Map interne du registre, et un delete + add
181+ // sur la même clé la replace en fin de Map, ce qui la ferait revisiter indéfiniment.
182+ for ( const [ name , job ] of Array . from ( existingJobs ) ) {
181183 if ( ! name . startsWith ( 'cron-task-' ) ) continue ;
182184
183185 const desired = desiredTasks . get ( name ) ;
@@ -301,7 +303,7 @@ export class CronHooksService {
301303 const { positionalArgs, flagArgs } = buildCronCommandArgs ( handler , resolvedOptions ) ;
302304
303305 const cmd = 'yarn' ;
304- const cmdArgs = [ 'run' , 'console' , ...handler . split ( '-' ) , ...positionalArgs , ...flagArgs ] ;
306+ const cmdArgs = [ 'run' , 'console' , ...resolveCronConsoleCommandWords ( handler ) , ...positionalArgs , ...flagArgs ] ;
305307
306308 const handlerLogger = createHandlerLogger ( this . configService , name ) ;
307309 this . logger . log ( `Spawning command: ${ cmd } ${ cmdArgs . join ( ' ' ) } ` ) ;
0 commit comments