定时任务对于项目来说,也是必不可少的,今天就来说一说在Nest项目中集成定时任务

Nest框架有实现定时任务的库@nestjs/schedule,官方教程参照:
https://docs.nestjs.com/techniques/task-scheduling

1 安装
首先安装依赖库

$ npm install --save @nestjs/schedule$ npm install --save-dev @types/cron

yarn安装也可以,我项目上使用的是yarn,如果npm安装完成项目运行报错,可以用yarn在重新安装一遍

2 添加到app.module

import { Module } from '@nestjs/common';import { ScheduleModule } from '@nestjs/schedule';@Module({  imports: [    ScheduleModule.forRoot()  ],})export class AppModule {}

3 使用
这里只演示,具体使用请根据项目,src下新建schedule文件夹,文件夹内新建tasks.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);  constructor(private readonly exampleService: ExampleService) {}  @Cron('45 * * * * *')  handleCron() {    this.logger.debug('该方法将在45秒标记处每分钟运行一次');  }  @Interval(10000)  handleInterval() {    this.logger.debug('2');  }  @Timeout(5000)  handleTimeout() {    this.logger.debug('3');  }  @Interval(10000)  sendEmail() {    this.logger.debug('3');  }}

在app.module providers中添加

import { Module } from '@nestjs/common';import { TasksService } from './schedule/tasks.service';@Module({  providers: [AppService, TasksService],})

运行项目

定时任务已启动

4 其他模式

还有一些其他模式,

            • *:每一秒
  • 45 *:每分钟,在45秒

    • 10 :每小时一次,十分钟开始
  • 0 /30 9-17 :上午九时至下午五时,每三十分钟一次

  • 0 30 11 1-5:星期一至星期五上午11:30
©著作权归作者所有:来自51CTO博客作者mb5fd86dae5fbf6的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. win10 安装 MySQL8.0版本
  2. github代码管理
  3. VS Nuget的使用以及VS Code与git介绍
  4. C#中使用opencv处理图像
  5. "Emgu.CV.CvInvoke”的类型初始值设定项引发异常 解决办法
  6. flex元素常用属性
  7. jenkins + supervisor + ansible 实现netcore程序的多机一键部署
  8. flex容器与项目的常用属性
  9. 怎样为树莓派安装Rust开发包和相关实用软件?

随机推荐

  1. Android 外部唤起应用跳转指定页面
  2. 封面流:做无限循环(像启动器,当到达最后一项
  3. 通过URL Scheme启动Android应用
  4. Android 后台每10秒钟启动一次应用的demo
  5. Android的支持库 && app/apk包进系统 &&
  6. 如何在Android应用里对HTTP请求头部添加
  7. 解决android调用系统相机拍照保存时onAct
  8. 路径提供者文档目录是一个安全的位置吗?
  9. 如何在Android 7.0+中检索SD卡的序列号?
  10. Android多线程下载远程图片【转】