node-schedule क्या है?
node-schedule Node.js वातावरण में कार्यों को शेड्यूल करने (cron-जैसी) के लिए एक लचीली लाइब्रेरी है। यह cron सिंटैक्स, अंतराल या विशिष्ट तिथियों का उपयोग करके JavaScript/TypeScript फ़ंक्शन को शेड्यूल पर निष्पादित करने की अनुमति देती है। यह लाइब्रेरी बैकग्राउंड टास्क, आवधिक सूचनाएं, डेटा सफाई और अन्य स्वचालित प्रक्रियाओं को बनाने के लिए आदर्श है।
node-schedule की आवश्यकता क्यों है?
वेब एप्लिकेशन में, अक्सर उपयोगकर्ता के अनुरोध पर नहीं, बल्कि समय के अनुसार कोड निष्पादित करने की आवश्यकता होती है। उदाहरण के लिए: दैनिक रिपोर्ट भेजना, लॉग संग्रहीत करना, सर्वर स्थितियों की जाँच करना। node-schedule जटिल कतार प्रणालियों के बिना इसे लागू करने का एक सरल और विश्वसनीय तरीका प्रदान करता है। setInterval के विपरीत, यह जटिल cron-शेड्यूल का समर्थन करता है और समय क्षेत्रों को ध्यान में रखता है।
स्थापना
npm या yarn के माध्यम से लाइब्रेरी स्थापित करें:
npm install node-schedule# याyarn add node-scheduleTypeScript के लिए अतिरिक्त रूप से प्रकार स्थापित करें:
npm install @types/node-schedule --save-devमुख्य कार्य
- Cron-शेड्यूल: मानक cron-सिंटैक्स (मिनट, घंटे, दिन, महीने) के लिए समर्थन।
- कार्य रद्द करना: निर्धारित निष्पादन को रद्द करने की क्षमता।
- एक बार के कार्य: किसी विशिष्ट तिथि पर निष्पादन।
- आवर्ती कार्य: निश्चित अंतराल पर दोहराव।
- त्रुटि प्रबंधन: त्रुटियों के लिए कॉलबैक का अंतर्निहित समर्थन।
TypeScript पर कोड उदाहरण
import * as schedule from 'node-schedule';
// कार्य: हर मिनटconst job = schedule.scheduleJob('*/1 * * * *', () => { console.log('कार्य निष्पादित हुआ:', new Date().toISOString());});
// 10 सेकंड बाद एक बार का कार्यconst date = new Date(Date.now() + 10000);schedule.scheduleJob(date, () => { console.log('एक बार का कार्य');});
// 30 सेकंड बाद कार्य रद्द करनाsetTimeout(() => { job.cancel(); console.log('कार्य रद्द कर दिया गया');}, 30000);
// आवर्ती नियम वाला कार्यconst rule = new schedule.RecurrenceRule();rule.hour = 14;rule.minute = 30;schedule.scheduleJob(rule, () => { console.log('प्रतिदिन 14:30 बजे कार्य');});कब उपयोग करें
node-schedule इसके लिए आदर्श है:
- बैकग्राउंड उपयोगिताएँ: अस्थायी फ़ाइलों की सफाई, बैकअप।
- सूचनाएं: शेड्यूल के अनुसार ईमेल या push-सूचनाएं भेजना।
- निगरानी: सेवाओं के स्वास्थ्य की आवधिक जाँच।
- एकीकरण: cron के अनुसार बाहरी API के साथ सिंक्रनाइज़ेशन।
उच्च सटीकता (मिलीसेकंड) या वितरित निष्पादन की आवश्यकता वाले कार्यों के लिए node-schedule का उपयोग न करें (इसके लिए Bull या RabbitMQ जैसी कतारें बेहतर हैं)।
लाइब्रेरी हल्की है, इसे बाहरी निर्भरता की आवश्यकता नहीं है और यह Express, NestJS या शुद्ध Node.js के साथ अच्छी तरह से काम करती है।
```पुस्तकालय में भी
PHP OAuth क्लाइंट: सोशल मीडिया और API प्रमाणीकरण गाइड
TypeScript में Excel के साथ कार्य: लाइब्रेरीज़, उदाहरण और उपकरण
Kotlin में तिथियों के साथ कार्य: विकास के लिए पुस्तकालय और उपकरण