Gx
主页
  • 甘特图开发
  • 前端考核
  • js
  • DOCKER 初始化
  • docker 镜像使用
  • docker 镜像定制
  • nestjs 安装
  • 连接数据库
  • typeOrm 操作
  • 任务调度
  • typeorm 一对多,多对一 多对多 一对一 对应实体之间的关系
  • sql 练习
  • 文件相关
  • ts学习
  • 面试题
  • rust
  • 入门
  • 基础
  • 性能公式
  • 线性回归
  • 基础语法
  • 数据类型
  • 复合类型
  • rust 控制流 匹配模式
  • ❤️ 父子传参
  • 🔔 Git的提交规则
主页
  • 甘特图开发
  • 前端考核
  • js
  • DOCKER 初始化
  • docker 镜像使用
  • docker 镜像定制
  • nestjs 安装
  • 连接数据库
  • typeOrm 操作
  • 任务调度
  • typeorm 一对多,多对一 多对多 一对一 对应实体之间的关系
  • sql 练习
  • 文件相关
  • ts学习
  • 面试题
  • rust
  • 入门
  • 基础
  • 性能公式
  • 线性回归
  • 基础语法
  • 数据类型
  • 复合类型
  • rust 控制流 匹配模式
  • ❤️ 父子传参
  • 🔔 Git的提交规则
  • 任务调度

任务调度

第一步下载依赖


[//]: # (yarn add  @nestjs/schedule 依赖 cron)
  yarn add  @nestjs/schedule

  yarn add -D @types/cron

第二步引入依赖 并且初始化

// @@filename(app.module) 
import { Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';


@Module({
  imports: [
    ScheduleModule.forRoot(),
  ],
  controllers: [],
  providers: [],
})

第三步创建任务

// @@filename(XXX.service) 你的sevice文件 
import { Injectable } from "@nestjs/common";

import { Cron, Interval, Timeout, NestSchedule } from "nest-schedule";

@Injectable()
export class ScheduleService extends NestSchedule {
  @Cron("0 0 0 * * *")
  async cronJob() {
    console.log("每天0点执行一次");
  }
}

cron表达式

* * * * * *每秒执行
45 * * * * *每分钟第 45 秒执行
* 10 * * * *每小时的第 10 分钟执行
0 */30 9-17 * * *每天 9-17 点 每 30 分钟执行一次
0 30 11 * * 1-5每周星期一到星期五 11.30 执行一次

第四步引入任务

// @@filename(XXX.model) sevice对应的模块文件 一般已经引入过了 
import { Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';
import { ScheduleService } from './schedule.service';

@Module({
  controllers: [],
  providers: [ScheduleService],
})

最近更新: 2024/8/23 02:25
Contributors: G_xing