Skip to content

定时任务

基于 NestJS 定时器实现后台任务调度。

内置任务

任务名说明执行周期
清理过期 Token删除已过期的 Redis Session每小时
日志归档将旧日志迁移到历史表每天 02:00

自定义任务

使用 @Cron() 装饰器注册定时任务:

typescript
import { Cron } from '@nestjs/schedule';

@Injectable()
export class TasksService {
  
  @Cron('0 30 9 * * * 1-5')  // 周一到周五 9:30
  handleWeekdayReport() {
    console.log('生成工作日报');
  }

  @Cron('*/15 * * * *')       // 每 15 分钟
  handleHealthCheck() {
    console.log('健康检查');
  }
}

启用调度

app.module.ts 中注册 ScheduleModule.forRoot()

typescript
import { ScheduleModule } from '@nestjs/schedule';

@Module({
  imports: [
    ScheduleModule.forRoot(),
    // ...
  ],
})
export class AppModule {}

下一步:

基于 MIT 许可发布 · 由 ❤️ 和 ☕ 驱动 · 支持作者