अंतरालों के लिए Ticker
निश्चित दर पर दोहराएँ
अंतरालों के लिए Ticker, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
निश्चित दर पर दोहराना
जब आपको केवल हर N सेकंड में कोई काम करना हो, तो टिकर सही साधन है। स्लीप लूप के विपरीत, यह नियमित अंतराल पर चलता है और काम में लगने वाले समय के कारण धीरे-धीरे पीछे नहीं खिसकता।
टिकर बनाना
time.NewTicker(d) एक ऐसा टिकर लौटाता है जिसके C चैनल पर हर d के बाद वर्तमान समय प्राप्त होता है।
ticker := time.NewTicker(time.Second)
defer ticker.Stop()टिकर को हमेशा रोकें
टिकर का आंतरिक टाइमर सक्रिय रहता है। यदि आप कभी Stop() नहीं बुलाते, तो संसाधन लीक हो जाता है। टिकर बनाने के तुरंत बाद defer ticker.Stop() का उपयोग करें।
चैनल पर रेंज करना
हर टिक पर प्रतिक्रिया देने के लिए आप टिकर चैनल पर रेंज कर सकते हैं।
for t := range ticker.C {
fmt.Println("tick at", t)
}select के साथ रोकना
टिकर को पूर्णता चैनल के साथ मिलाएँ, ताकि लूप साफ़-सुथरे ढंग से बाहर निकल सके।
for {
select {
case <-ticker.C:
doWork()
case <-done:
return
}
}टिकर बनाम टाइमर
मुख्य अंतर:
- टाइमर किसी विलंब के बाद एक बार चलता है
- टिकर एक निश्चित अंतराल पर बार-बार चलता है
एक-बारगी समय-सीमा के लिए टाइमर और आवधिक काम के लिए टिकर का उपयोग करें।
time.Tick की सुविधा
time.Tick(d) केवल चैनल लौटाता है। यह सुविधाजनक है, लेकिन इसे रोका नहीं जा सकता, इसलिए लंबे समय तक चलने वाले प्रोग्रामों में इस्तेमाल करने पर संसाधन लीक हो जाता है। छोटे स्क्रिप्टों के अलावा NewTicker को प्राथमिकता दें।
for range time.Tick(time.Second) {
// simple, but cannot Stop -> avoid in servers
}धीमे काम को संभालना
यदि आपके काम में अंतराल से अधिक समय लगता है, तो टिक जमा नहीं किए जाते; टिकर तेज़ी से कई टिक देने के बजाय उन्हें छोड़ देता है। इसलिए आपके पास कभी लंबित टिकों का ढेर नहीं बनता, लेकिन अधिक भार में कुछ लय छूट सकती है।
दर समायोजित करना
अंतराल बदलने के लिए नया टिकर बनाएँ। Go 1.15+ में ticker.Reset(d) भी उपलब्ध है, जिससे नए संसाधन बनाए बिना अवधि बदली जा सकती है।
ticker.Reset(500 * time.Millisecond)संदर्भ रद्द करना
वास्तविक सेवाओं में टिकर लूप को context.Context से चलाएँ, ताकि बंद करने के संकेत मिलने पर वे शालीनता से रुक जाएँ।
case <-ctx.Done():
return ctx.Err()चलाने योग्य: निश्चित-दर टिकर
यह आत्मनिर्भर प्रोग्राम एक निश्चित अंतराल पर तीन बार टिक करता है और फिर गिनती की मदद से साफ़-सुथरे ढंग से रुक जाता है।
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(10 * time.Millisecond)
defer ticker.Stop()
count := 0
for range ticker.C {
count++
fmt.Println("tick", count)
if count == 3 {
break
}
}
fmt.Println("done")
}त्वरित जाँच
टिकरों की अपनी समझ जाँचें।
पुनरावलोकन
आपने अंतरालों के लिए टिकर सीखे:
time.NewTicker(d)अपनेCचैनल पर हरdके बाद चलता है- संसाधन लीक से बचने के लिए हमेशा
defer ticker.Stop()का उपयोग करें - धीमे काम के दौरान टिकर तेज़ी से कई टिक देने के बजाय टिक छोड़ देते हैं
- दर बदलने के लिए
Resetऔर बाहर निकलने के लिए संदर्भ या पूर्णता चैनल का उपयोग करें
एआई शिक्षक के साथ Go सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “अंतरालों के लिए Ticker” पाठ निःशुल्क है?
हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “अंतरालों के लिए Ticker” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“अंतरालों के लिए Ticker” में मैं क्या सीखूँगा?
निश्चित दर पर दोहराएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“अंतरालों के लिए Ticker” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- समय-आधारित शेड्यूलिंग
- robfig/cron लाइब्रेरी
- अंतरालों के लिए Ticker
- कार्य का सुव्यवस्थित शटडाउन