Go में निर्धारित अंतराल पर दोहराए जाने वाले कार्य कैसे करें?
सभी को नमस्ते! मैं Go में नया हूँ और एक छोटी मॉनिटरिंग सेवा लिख रहा हूँ। मुझे हर 5 सेकंड में प्रोग्राम द्वारा रिमोट सर्वर की स्थिति जांचनी है और परिणाम लॉग में लिखना है। मैंने अनंत लूप में `time.Sleep()` का उपयोग करने की कोशिश की, लेकिन यह अस्थायी समाधान लगता है और पूरे प्रोग्राम को गलत तरीके से ब्लॉक करता है। यहाँ मेरा वर्तमान कोड है:\n\n```go\npackage main\n\nimport (\n "fmt"\n "time"\n)\n\nfunc main() {\n for {\n fmt.Println("सर्वर की जाँच कर रहा हूँ...")\n // यहाँ कुछ जाँच लॉजिक\n time.Sleep(5 * time.Second)\n }\n}\n```\n\nसमस्या यह है कि अगर मैं इस लूप को रोकना चाहूँ (जैसे, प्रोग्राम समाप्ति सिग्नल पर), तो मुझे `Sleep` के खत्म होने का इंतजार करना होगा। इसके अलावा, मैंने सुना है कि Go में goroutines और channels हैं, लेकिन समझ नहीं आ रहा कि इस कार्य के लिए उन्हें कैसे लागू करूँ।