跳至主要內容

定时任务

刘春龙原创...大约 6 分钟NodejsNestjs教程文档

安装

npm install --save @nestjs/schedule

配置

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ScheduleModule } from '@nestjs/schedule';
@Module({
  imports: [
    ScheduleModule.forRoot()
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule { }

使用

import { Injectable } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';

@Injectable()
export class AppService {
  constructor() { }
  @Cron('45 * * * * *')  // 每分钟的45秒节点处会自动执行
  async v1() {
    console.log(1)
  }

  @Cron(CronExpression.EVERY_30_SECONDS)  // 每间隔30秒会自动执行
  async v2() {
    console.log(2)
  }
}

内置的枚举

export declare enum CronExpression {
    EVERY_SECOND = "* * * * * *",
    EVERY_5_SECONDS = "*/5 * * * * *",
    EVERY_10_SECONDS = "*/10 * * * * *",
    EVERY_30_SECONDS = "*/30 * * * * *",
    EVERY_MINUTE = "*/1 * * * *",
    EVERY_5_MINUTES = "0 */5 * * * *",
    EVERY_10_MINUTES = "0 */10 * * * *",
    EVERY_30_MINUTES = "0 */30 * * * *",
    EVERY_HOUR = "0 0-23/1 * * *",
    EVERY_2_HOURS = "0 0-23/2 * * *",
    EVERY_3_HOURS = "0 0-23/3 * * *",
    EVERY_4_HOURS = "0 0-23/4 * * *",
    EVERY_5_HOURS = "0 0-23/5 * * *",
    EVERY_6_HOURS = "0 0-23/6 * * *",
    EVERY_7_HOURS = "0 0-23/7 * * *",
    EVERY_8_HOURS = "0 0-23/8 * * *",
    EVERY_9_HOURS = "0 0-23/9 * * *",
    EVERY_10_HOURS = "0 0-23/10 * * *",
    EVERY_11_HOURS = "0 0-23/11 * * *",
    EVERY_12_HOURS = "0 0-23/12 * * *",
    EVERY_DAY_AT_1AM = "0 01 * * *",
    EVERY_DAY_AT_2AM = "0 02 * * *",
    EVERY_DAY_AT_3AM = "0 03 * * *",
    EVERY_DAY_AT_4AM = "0 04 * * *",
    EVERY_DAY_AT_5AM = "0 05 * * *",
    EVERY_DAY_AT_6AM = "0 06 * * *",
    EVERY_DAY_AT_7AM = "0 07 * * *",
    EVERY_DAY_AT_8AM = "0 08 * * *",
    EVERY_DAY_AT_9AM = "0 09 * * *",
    EVERY_DAY_AT_10AM = "0 10 * * *",
    EVERY_DAY_AT_11AM = "0 11 * * *",
    EVERY_DAY_AT_NOON = "0 12 * * *",
    EVERY_DAY_AT_1PM = "0 13 * * *",
    EVERY_DAY_AT_2PM = "0 14 * * *",
    EVERY_DAY_AT_3PM = "0 15 * * *",
    EVERY_DAY_AT_4PM = "0 16 * * *",
    EVERY_DAY_AT_5PM = "0 17 * * *",
    EVERY_DAY_AT_6PM = "0 18 * * *",
    EVERY_DAY_AT_7PM = "0 19 * * *",
    EVERY_DAY_AT_8PM = "0 20 * * *",
    EVERY_DAY_AT_9PM = "0 21 * * *",
    EVERY_DAY_AT_10PM = "0 22 * * *",
    EVERY_DAY_AT_11PM = "0 23 * * *",
    EVERY_DAY_AT_MIDNIGHT = "0 0 * * *",
    EVERY_WEEK = "0 0 * * 0",
    EVERY_WEEKDAY = "0 0 * * 1-5",
    EVERY_WEEKEND = "0 0 * * 6,0",
    EVERY_1ST_DAY_OF_MONTH_AT_MIDNIGHT = "0 0 1 * *",
    EVERY_1ST_DAY_OF_MONTH_AT_NOON = "0 12 1 * *",
    EVERY_2ND_HOUR = "0 */2 * * *",
    EVERY_2ND_HOUR_FROM_1AM_THROUGH_11PM = "0 1-23/2 * * *",
    EVERY_2ND_MONTH = "0 0 1 */2 *",
    EVERY_QUARTER = "0 0 1 */3 *",
    EVERY_6_MONTHS = "0 0 1 */6 *",
    EVERY_YEAR = "0 0 1 0 *",
    EVERY_30_MINUTES_BETWEEN_9AM_AND_5PM = "0 */30 9-17 * * *",
    EVERY_30_MINUTES_BETWEEN_9AM_AND_6PM = "0 */30 9-18 * * *",
    EVERY_30_MINUTES_BETWEEN_10AM_AND_7PM = "0 */30 10-19 * * *",
    MONDAY_TO_FRIDAY_AT_1AM = "0 0 01 * * 1-5",
    MONDAY_TO_FRIDAY_AT_2AM = "0 0 02 * * 1-5",
    MONDAY_TO_FRIDAY_AT_3AM = "0 0 03 * * 1-5",
    MONDAY_TO_FRIDAY_AT_4AM = "0 0 04 * * 1-5",
    MONDAY_TO_FRIDAY_AT_5AM = "0 0 05 * * 1-5",
    MONDAY_TO_FRIDAY_AT_6AM = "0 0 06 * * 1-5",
    MONDAY_TO_FRIDAY_AT_7AM = "0 0 07 * * 1-5",
    MONDAY_TO_FRIDAY_AT_8AM = "0 0 08 * * 1-5",
    MONDAY_TO_FRIDAY_AT_9AM = "0 0 09 * * 1-5",
    MONDAY_TO_FRIDAY_AT_09_30AM = "0 30 09 * * 1-5",
    MONDAY_TO_FRIDAY_AT_10AM = "0 0 10 * * 1-5",
    MONDAY_TO_FRIDAY_AT_11AM = "0 0 11 * * 1-5",
    MONDAY_TO_FRIDAY_AT_11_30AM = "0 30 11 * * 1-5",
    MONDAY_TO_FRIDAY_AT_12PM = "0 0 12 * * 1-5",
    MONDAY_TO_FRIDAY_AT_1PM = "0 0 13 * * 1-5",
    MONDAY_TO_FRIDAY_AT_2PM = "0 0 14 * * 1-5",
    MONDAY_TO_FRIDAY_AT_3PM = "0 0 15 * * 1-5",
    MONDAY_TO_FRIDAY_AT_4PM = "0 0 16 * * 1-5",
    MONDAY_TO_FRIDAY_AT_5PM = "0 0 17 * * 1-5",
    MONDAY_TO_FRIDAY_AT_6PM = "0 0 18 * * 1-5",
    MONDAY_TO_FRIDAY_AT_7PM = "0 0 19 * * 1-5",
    MONDAY_TO_FRIDAY_AT_8PM = "0 0 20 * * 1-5",
    MONDAY_TO_FRIDAY_AT_9PM = "0 0 21 * * 1-5",
    MONDAY_TO_FRIDAY_AT_10PM = "0 0 22 * * 1-5",
    MONDAY_TO_FRIDAY_AT_11PM = "0 0 23 * * 1-5"
}
EVERY_SECOND - 每秒钟触发一次任务。
EVERY_5_SECONDS -5秒钟触发一次任务。
EVERY_10_SECONDS -10秒钟触发一次任务。
EVERY_30_SECONDS -30秒钟触发一次任务。
EVERY_MINUTE - 每分钟触发一次任务。
EVERY_5_MINUTES -5分钟触发一次任务。
EVERY_10_MINUTES -10分钟触发一次任务。
EVERY_30_MINUTES -30分钟触发一次任务。
EVERY_HOUR - 每小时触发一次任务。
EVERY_2_HOURS -2小时触发一次任务。
EVERY_3_HOURS -3小时触发一次任务。
EVERY_4_HOURS -4小时触发一次任务。
EVERY_5_HOURS -5小时触发一次任务。
EVERY_6_HOURS -6小时触发一次任务。
EVERY_7_HOURS -7小时触发一次任务。
EVERY_8_HOURS -8小时触发一次任务。
EVERY_9_HOURS -9小时触发一次任务。
EVERY_10_HOURS -10小时触发一次任务。
EVERY_11_HOURS -11小时触发一次任务。
EVERY_12_HOURS -12小时触发一次任务。
EVERY_DAY_AT_1AM - 每天凌晨1点触发一次任务。
EVERY_DAY_AT_2AM - 每天凌晨2点触发一次任务。
EVERY_DAY_AT_3AM - 每天凌晨3点触发一次任务。
EVERY_DAY_AT_4AM - 每天凌晨4点触发一次任务。
EVERY_DAY_AT_5AM - 每天凌晨5点触发一次任务。
EVERY_DAY_AT_6AM - 每天早上6点触发一次任务。
EVERY_DAY_AT_7AM - 每天早上7点触发一次任务。
EVERY_DAY_AT_8AM - 每天早上8点触发一次任务。
EVERY_DAY_AT_9AM - 每天早上9点触发一次任务。
EVERY_DAY_AT_10AM - 每天早上10点触发一次任务。
EVERY_DAY_AT_11AM - 每天早上11点触发一次任务。
EVERY_DAY_AT_NOON - 每天中午12点触发一次任务。
EVERY_DAY_AT_1PM - 每天下午1点触发一次任务。
EVERY_DAY_AT_2PM - 每天下午2点触发一次任务。
EVERY_DAY_AT_3PM - 每天下午3点触发一次任务。
EVERY_DAY_AT_4PM - 每天下午4点触发一次任务。
EVERY_DAY_AT_5PM - 每天下午5点触发一次任务。
EVERY_DAY_AT_6PM - 每天下午6点触发一次任务。
EVERY_DAY_AT_7PM - 每天晚上7点触发一次任务。
EVERY_DAY_AT_8PM - 每天晚上8点触发一次任务。
EVERY_DAY_AT_9PM - 每天晚上9点触发一次任务。
EVERY_DAY_AT_10PM - 每天晚上10点触发一次任务。
EVERY_DAY_AT_11PM - 每天晚上11点触发一次任务。
EVERY_DAY_AT_MIDNIGHT - 每天午夜(0点)触发一次任务。
EVERY_WEEK - 每周触发一次任务(星期日)。
EVERY_WEEKDAY - 每工作日(星期一至星期五)触发一次任务。
EVERY_WEEKEND - 每周末(星期六和星期日)触发一次任务。
EVERY_1ST_DAY_OF_MONTH_AT_MIDNIGHT - 每月的第1天午夜(0点)触发一次任务。
EVERY_1ST_DAY_OF_MONTH_AT_NOON - 每月的第1天中午(12点)触发一次任务。
EVERY_2ND_HOUR -2小时触发一次任务。
EVERY_2ND_HOUR_FROM_1AM_THROUGH_11PM - 从凌晨1点到晚上11点,每2小时触发一次任务。
EVERY_2ND_MONTH -2个月触发一次任务。
EVERY_QUARTER - 每季度触发一次任务。
EVERY_6_MONTHS - 每半年触发一次任务。
EVERY_YEAR - 每年触发一次任务。
EVERY_30_MINUTES_BETWEEN_9AM_AND_5PM - 每天上午9点到下午5点之间,每30分钟触发一次任务。
EVERY_30_MINUTES_BETWEEN_9AM_AND_6PM - 每天上午9点到下午6点之间,每30分钟触发一次任务。
EVERY_30_MINUTES_BETWEEN_10AM_AND_7PM - 每天上午10点到下午7点之间,每30分钟触发一次任务。
MONDAY_TO_FRIDAY_AT_1AM - 每周一至周五凌晨1点触发一次任务。
MONDAY_TO_FRIDAY_AT_2AM - 每周一至周五凌晨2点触发一次任务。
MONDAY_TO_FRIDAY_AT_3AM - 每周一至周五凌晨3点触发一次任务。
MONDAY_TO_FRIDAY_AT_4AM - 每周一至周五凌晨4点触发一次任务。
MONDAY_TO_FRIDAY_AT_5AM - 每周一至周五凌晨5点触发一次任务。
MONDAY_TO_FRIDAY_AT_6AM - 每周一至周五早上6点触发一次任务。
MONDAY_TO_FRIDAY_AT_7AM - 每周一至周五早上7点触发一次任务。
MONDAY_TO_FRIDAY_AT_8AM - 每周一至周五早上8点触发一次任务。
MONDAY_TO_FRIDAY_AT_9AM - 每周一至周五早上9点触发一次任务。
MONDAY_TO_FRIDAY_AT_09_30AM - 每周一至周五早上930分触发一次任务。
MONDAY_TO_FRIDAY_AT_10AM - 每周一至周五早上10点触发一次任务。
MONDAY_TO_FRIDAY_AT_11AM - 每周一至周五早上11点触发一次任务。
MONDAY_TO_FRIDAY_AT_11_30AM - 每周一至周五早上1130分触发一次任务。
MONDAY_TO_FRIDAY_AT_12PM - 每周一至周五中午12点触发一次任务。
MONDAY_TO_FRIDAY_AT_1PM - 每周一至周五下午1点触发一次任务。
MONDAY_TO_FRIDAY_AT_2PM - 每周一至周五下午2点触发一次任务。
MONDAY_TO_FRIDAY_AT_3PM - 每周一至周五下午3点触发一次任务。
MONDAY_TO_FRIDAY_AT_4PM - 每周一至周五下午4点触发一次任务。
MONDAY_TO_FRIDAY_AT_5PM - 每周一至周五下午5点触发一次任务。
MONDAY_TO_FRIDAY_AT_6PM - 每周一至周五下午6点触发一次任务。
MONDAY_TO_FRIDAY_AT_7PM - 每周一至周五晚上7点触发一次任务。
MONDAY_TO_FRIDAY_AT_8PM - 每周一至周五晚上8点触发一次任务。
MONDAY_TO_FRIDAY_AT_9PM - 每周一至周五晚上9点触发一次任务。
MONDAY_TO_FRIDAY_AT_10PM - 每周一至周五晚上10点触发一次任务。
MONDAY_TO_FRIDAY_AT_11PM - 每周一至周五晚上11点触发一次任务。
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7