Lập lịch tác vụ tự động bằng Task Scheduling (Cron Jobs)
Trong lập trình ứng dụng Backend, việc thiết lập các tác vụ tự động chạy theo chu kỳ thời gian là rất phổ biến (ví dụ: tự động dọn dẹp các tài khoản chưa kích hoạt sau 30 ngày, gửi báo cáo doanh thu lúc 0h mỗi ngày, sao lưu dữ liệu lúc 2h sáng). NestJS hỗ trợ lập lịch tác vụ thông qua module chuyên biệt@nestjs/schedule, cho phép bạn thiết lập các Cron Jobs cực kỳ đơn giản bằng các Decorator trực quan.
Tài liệu này hướng dẫn cách cài đặt và ra lệnh cho Claude Code viết các tác vụ tự động chạy chuẩn xác nhất.
1. Cài đặt và Kích hoạt
Cài đặt thư viện:
Kích hoạt ScheduleModule trong app.module.ts:
src/app.module.ts
2. Các Decorator Lập lịch phổ biến
NestJS hỗ trợ 3 dạng lập lịch chính dựa trên tần suất chạy:A. @Cron() - Tác vụ chạy theo chu kỳ Lịch biểu
Dùng khi bạn muốn chạy tác vụ vào một thời điểm chính xác (ví dụ: 12h trưa mỗi ngày).
src/tasks/tasks.service.ts