robfig/cron लाइब्रेरी
cron सिंटैक्स से शेड्यूल करें
robfig/cron लाइब्रेरी, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Go में क्रॉन अभिव्यक्तियाँ
रॉबफ़िग/क्रॉन लाइब्रेरी हाथ से लिखी गई समय-गणना के बजाय परिचित क्रॉन सिंटैक्स के साथ कार्यों की समय-सारिणी बनाने देती है। इसे go get github.com/robfig/cron/v3 से इंस्टॉल कीजिए।
import "github.com/robfig/cron/v3"क्रॉन सिंटैक्स का पुनरावलोकन
एक मानक क्रॉन अभिव्यक्ति में पाँच फ़ील्ड होते हैं:
- मिनट (0-59)
- घंटा (0-23)
- महीने का दिन (1-31)
- महीना (1-12)
- सप्ताह का दिन (0-6)
उदाहरण: 0 9 * * 1-5 = कार्यदिवसों में सुबह 9:00 बजे।
समय-सारिणी बनाना
cron.New() एक समय-सारिणी लौटाता है। आप इसमें कार्य जोड़ते हैं और फिर इसे शुरू करते हैं।
c := cron.New()
c.Start()
defer c.Stop()कार्य जोड़ना
AddFunc किसी समय-सारिणी पर चलने के लिए फ़ंक्शन पंजीकृत करता है और एक प्रविष्टि ID तथा विनिर्देश अमान्य होने पर एक त्रुटि लौटाता है।
id, err := c.AddFunc("30 * * * *", func() {
fmt.Println("runs at minute 30")
})
if err != nil {
log.Fatal(err)
}
_ = idसेकंड फ़ील्ड
रॉबफ़िग/क्रॉन v3 डिफ़ॉल्ट रूप से 5-फ़ील्ड विनिर्देश (बिना सेकंड) का उपयोग करता है। सेकंड वाले 6-फ़ील्ड विनिर्देश को सक्षम करने के लिए सेकंड विकल्प के साथ क्रॉन बनाइए।
c := cron.New(cron.WithSeconds())
c.AddFunc("*/5 * * * * *", func() { fmt.Println("every 5s") })पूर्वनिर्धारित समय-सारिणियाँ
सुविधाजनक मैक्रो उपलब्ध हैं:
@hourly@daily@weekly@every 1h30m
c.AddFunc("@every 1h30m", func() { fmt.Println("every 90 min") })
c.AddFunc("@daily", func() { fmt.Println("midnight") })कार्य हटाना
किसी कार्य को गतिशील रूप से हटाने के लिए लौटाई गई EntryID का उपयोग करें।
id, _ := c.AddFunc("@hourly", task)
// later:
c.Remove(id)कार्य गोरूटीन में चलते हैं
हर निर्धारित कार्य अपनी गोरूटीन में चलता है। यदि कोई कार्य अपने अगले ट्रिगर के साथ एक ही समय पर चल सकता है, तो समवर्ती निष्पादन से बचाव करें या ऐसा आवरण इस्तेमाल करें जो एक साथ होने वाले निष्पादनों को छोड़ दे।
समय क्षेत्र
डिफ़ॉल्ट रूप से समय-सारिणियाँ मशीन के स्थानीय समय का उपयोग करती हैं। उन्हें स्पष्ट बनाने और DST से जुड़े अप्रत्याशित परिणामों से बचने के लिए कोई स्थान दें।
loc, _ := time.LoadLocation("America/New_York")
c := cron.New(cron.WithLocation(loc))चलाए बिना पार्स करना
आप पार्सर की मदद से किसी विनिर्देश को मान्य कर सकते हैं या अगली बार चलने का समय निकाल सकते हैं। यह परीक्षणों और उपयोगकर्ताओं को अगला निष्पादन दिखाने के लिए बहुत उपयोगी है।
sched, _ := cron.ParseStandard("0 9 * * 1-5")
next := sched.Next(time.Now())
fmt.Println("next run:", next)चलाने योग्य: अगला क्रॉन चलने का समय निकालना (सादृश्य)
robfig/cron बाहरी है; मानक-पुस्तकालय का यह अंश सबसे सरल क्रॉन नियम—"हर मिनट, मिनट की सीमा पर"—का मॉडल बनाता है और अगला मेल खाता समय निकालता है।
package main
import (
"fmt"
"time"
)
func nextRun(from time.Time) time.Time {
return from.Truncate(time.Minute).Add(time.Minute)
}
func main() {
now := time.Date(2026, 1, 1, 8, 15, 30, 0, time.UTC)
fmt.Println("now:", now.Format("15:04:05"))
fmt.Println("next:", nextRun(now).Format("15:04:05"))
}त्वरित जाँच
robfig/cron पुस्तकालय की अपनी समझ जाँचें।
पुनरावलोकन
आपने robfig/cron पुस्तकालय सीखा:
cron.New()+AddFunc(spec, fn)+Start()- डिफ़ॉल्ट रूप से 5-फ़ील्ड विनिर्देश;
WithSecondsएक सेकंड फ़ील्ड जोड़ता है @dailyऔर@everyजैसे मैक्रो सामान्य समय-सारिणियों को आसान बनाते हैं- नियंत्रण और परीक्षण के लिए
Remove, स्थानों औरParseStandardका उपयोग करें
एआई शिक्षक के साथ Go सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “robfig/cron लाइब्रेरी” पाठ निःशुल्क है?
हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “robfig/cron लाइब्रेरी” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“robfig/cron लाइब्रेरी” में मैं क्या सीखूँगा?
cron सिंटैक्स से शेड्यूल करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“robfig/cron लाइब्रेरी” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- समय-आधारित शेड्यूलिंग
- robfig/cron लाइब्रेरी
- अंतरालों के लिए Ticker
- कार्य का सुव्यवस्थित शटडाउन