Tentukan dahulu arti “cronjob hanya dijalankan satu node”. Mencegah eksekusi bersamaan dan mencegah efek bisnis berulang adalah dua kebutuhan berbeda. Penjadwal bersama mengoordinasikan eksekusi; operasinya sendiri harus tetap aman setelah proses gagal dan dicoba ulang.
Bayangkan tugas pembuatan faktur harian yang dipasang pada tiga node NestJS. Pekerjaan terjadwal harus berjalan tanpa membuat faktur tambahan ketika worker dimulai ulang.
1. Pahami mengapa semua node memulai tugas
Setiap instance aplikasi mendaftarkan callback cron sendiri. Pada waktu yang dijadwalkan, masing-masing dapat mulai secara independen:
