yarn add @nestjs/schedule
taskes.service.ts
import { Injectable, Logger } from '@nestjs/common';
import { Cron, Interval, Timeout } from '@nestjs/schedule';
@Injectable()
export class TasksService {
private readonly logger = new Logger(TasksService.name);
@Cron('45 * * * * *')
handleCron() {
this.logger.debug('Called when the second is 45');
}
@Interval(10000)
handleInterval() {
this.logger.debug('每10秒钟执行一次');
}
@Timeout(5000)
handleTimeout() {
this.logger.debug('定时5秒后执行');
}
}
taskes.module.ts
import { TasksService } from './taskes.service';
import { Module } from '@nestjs/common';
@Module({
imports: [],
controllers: [],
providers: [
TasksService
],
})
export class TaskesModule { }
最后引用的模块
import { Module } from '@nestjs/common';
import { TaskesModule } from "./timedTask/taskes.module";
import { ScheduleModule } from "@nestjs/schedule";
@Module({
imports: [
// 要打开 模块可以执行
ScheduleModule.forRoot(),
TaskesModule
],
})
export class Modules { }