ScheduleModule

NestJS 🟡 Mid

Definition

Module pour planifier des taches periodiques via des decorateurs cron (@Cron), interval (@Interval) ou timeout (@Timeout).

Analogie

Comme un reveil programme : il execute automatiquement des actions a des heures definies.

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

Executer des taches de maintenance comme le nettoyage de sessions expirees ou l'envoi de rapports.

Anti-pattern

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