npm install --save @nestjs/schedule
AppModule
에서 global 로 registerimport { Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';
@Module({
imports: [
ScheduleModule.forRoot()
],
})
export class AppModule {}
@Cron
decorator 를 통해 스케줄 정의
import { Injectable, Logger } from '@nestjs/common';
import { Cron } from '@nestjs/schedule';
@Injectable()
export class TasksService {
private readonly logger = new Logger(TasksService.name);
@Cron('45 * * * * *')
handleCron() {
this.logger.debug('Called when the current second is 45');
}
}
@Interval(10000)
handleInterval() {
this.logger.debug('Called every 10 seconds');
}
@Timeout(5000)
handleTimeout() {
this.logger.debug('Called once after 5 seconds');
}