पहले स्पष्ट करें कि “cronjob केवल एक node चलाए” का अर्थ क्या है। साथ चलने से रोकना और business effect दोबारा होने से रोकना अलग जरूरतें हैं। Shared scheduler execution coordinate करता है; crash और retry के बाद operation खुद भी सुरक्षित रहना चाहिए।
तीन NestJS nodes पर दैनिक invoice job मानें। Scheduled काम होना चाहिए, लेकिन worker restart होने पर दूसरा invoice नहीं बनना चाहिए।
1. समझें कि सभी nodes task क्यों शुरू करते हैं
हर application instance अपना cron callback register करता है। तय समय पर हर instance स्वतंत्र रूप से शुरू हो सकता है:
