1. yarn add @nestjs/schedule

    taskes.service.ts

    1. import { Injectable, Logger } from '@nestjs/common';
    2. import { Cron, Interval, Timeout } from '@nestjs/schedule';
    3. @Injectable()
    4. export class TasksService {
    5. private readonly logger = new Logger(TasksService.name);
    6. @Cron('45 * * * * *')
    7. handleCron() {
    8. this.logger.debug('Called when the second is 45');
    9. }
    10. @Interval(10000)
    11. handleInterval() {
    12. this.logger.debug('每10秒钟执行一次');
    13. }
    14. @Timeout(5000)
    15. handleTimeout() {
    16. this.logger.debug('定时5秒后执行');
    17. }
    18. }

    taskes.module.ts

    1. import { TasksService } from './taskes.service';
    2. import { Module } from '@nestjs/common';
    3. @Module({
    4. imports: [],
    5. controllers: [],
    6. providers: [
    7. TasksService
    8. ],
    9. })
    10. export class TaskesModule { }

    最后引用的模块

    1. import { Module } from '@nestjs/common';
    2. import { TaskesModule } from "./timedTask/taskes.module";
    3. import { ScheduleModule } from "@nestjs/schedule";
    4. @Module({
    5. imports: [
    6. // 要打开 模块可以执行
    7. ScheduleModule.forRoot(),
    8. TaskesModule
    9. ],
    10. })
    11. export class Modules { }