ScheduleModule
NestJS 🟡 MidDefinition
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.