node-cron क्या है?
node-cron Node.js के लिए एक हल्की लाइब्रेरी है, जो आपको cron-एक्सप्रेशन सिंटैक्स का उपयोग करके JavaScript फ़ंक्शन को शेड्यूल पर चलाने की अनुमति देती है। यह नियमित कार्यों को स्वचालित करने के लिए आदर्श है: ईमेल सूचनाएं भेजना, डेटाबेस साफ़ करना, वेब पेज पार्स करना या रिपोर्ट जनरेट करना।
टास्क शेड्यूलर की आवश्यकता क्यों है?
वेब डेवलपमेंट में, अक्सर कोड को तुरंत नहीं, बल्कि निश्चित अंतराल पर निष्पादित करने की आवश्यकता होती है। setInterval() या setTimeout() के माध्यम से स्क्रिप्ट को मैन्युअल रूप से चलाना जटिल शेड्यूल (जैसे, "महीने के हर दूसरे मंगलवार को 15:00 बजे") के लिए असुविधाजनक है। node-cron समय निर्दिष्ट करने का एक लचीला और पढ़ने योग्य तरीका प्रदान करके इस समस्या का समाधान करता है।
स्थापना (Installation)
npm के माध्यम से लाइब्रेरी स्थापित करें:
npm install node-cronया yarn का उपयोग करें:
yarn add node-cronमुख्य कार्य (Main Functions)
- cron.schedule(expression, callback) — शेड्यूल के अनुसार फ़ंक्शन चलाता है।
- cron.validate(expression) — cron-एक्सप्रेशन की वैधता की जाँच करता है।
- task.stop() — कार्य को रोकता है।
- task.start() — रोके गए कार्य को फिर से शुरू करता है।
- सेकंड के लिए समर्थन (एक्सप्रेशन की शुरुआत में एक अतिरिक्त फ़ील्ड)।
JavaScript (Node.js) पर कोड उदाहरण
एक सरल उदाहरण देखें: हर मिनट एक कार्य चलाना जो कंसोल में वर्तमान समय प्रदर्शित करता है।
const cron = require('node-cron');
// कार्य हर मिनट निष्पादित होता हैconst task = cron.schedule('* * * * *', () => { console.log('कार्य शुरू:', new Date().toLocaleTimeString());});
// कार्य शुरू करेंtask.start();
// 5 मिनट बाद कार्य रोकेंsetTimeout(() => { task.stop(); console.log('कार्य रोक दिया गया');}, 300000);cron-एक्सप्रेशन की व्याख्या: '* * * * *' — मिनट, घंटा, महीने का दिन, महीना, सप्ताह का दिन। तारांकन चिह्न का अर्थ है "हर"। उदाहरण के लिए, '0 9 * * 1-5' — हर कार्यदिवस सुबह 9:00 बजे।
वैलिडेशन के साथ उदाहरण:
const cron = require('node-cron');
const expression = '30 4 * * 0'; // हर रविवार सुबह 4:30 बजेif (cron.validate(expression)) { cron.schedule(expression, () => { console.log('रविवार की डेटा सफाई...'); });} else { console.error('अमान्य cron-एक्सप्रेशन');}node-cron का उपयोग कब करें?
- बैकअप स्वचालन: दिन में एक बार डेटाबेस का बैकअप बनाना।
- न्यूज़लेटर भेजना: सब्सक्राइबर्स को दैनिक डाइजेस्ट भेजना।
- मॉनिटरिंग: हर 5 मिनट में बाहरी API की उपलब्धता की जाँच करना।
- कैश सफाई: Redis या फ़ाइल सिस्टम से पुराने डेटा को हटाना।
- डेटा पार्सिंग: शेड्यूल के अनुसार मुद्रा दरें या समाचार लोड करना।
यह लाइब्रेरी छोटे और मध्यम आकार के प्रोजेक्ट्स के लिए आदर्श है, जहाँ Bull या Agenda जैसे पूर्ण टास्क ऑर्केस्ट्रेटर की आवश्यकता नहीं होती है। यदि आपका एप्लिकेशन एक सर्वर पर चलता है और सरल cron-जैसा व्यवहार चाहता है, तो node-cron एक उत्कृष्ट विकल्प होगा।
```