ScheduleModule

NestJS 🟡 Mid

Définition

Module pour planifier des taches périodiques via des décorateurs cron (@Cron), interval (@Interval) ou timeout (@Timeout).

Analogie

Comme un réveil programme : il exécute automatiquement des actions a des heures définies.

Exemple de code

@Injectable()
export class TaskService {
  @Cron('0 0 * * *') // Chaque jour a minuit
  async dailyCleanup() {
    await this.sessionService.deleteExpired();
  }

  @Interval(30000) // Toutes les 30 secondes
  checkHealth() { this.logger.log('Health check'); }
}

Cas d'usage

Exécuter des taches de maintenance comme le nettoyage de sessions expirées ou l'envoi de rapports.

Anti-pattern

Utiliser setInterval natif au lieu de @nestjs/schedule, perdant le contexte DI.
#core

← → au clavier pour passer d'une fiche à l'autre