Trước tiên cần làm rõ “chỉ một node chạy cronjob” nghĩa là gì. Không chạy đồng thời và không tạo tác dụng nghiệp vụ lặp là hai yêu cầu khác nhau. Bộ lập lịch dùng chung phối hợp việc chạy; bản thân thao tác vẫn phải an toàn khi lỗi rồi chạy lại.
Lấy ví dụ job tạo hóa đơn hằng ngày được triển khai trên ba node NestJS. Ta muốn công việc chạy đúng lịch, đồng thời không sinh thêm hóa đơn khi worker khởi động lại.
1. Hiểu vì sao mọi node cùng bắt đầu
Mỗi instance ứng dụng đăng ký callback cron riêng. Đến giờ, từng instance có thể tự chạy:
