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 हैं, लेकिन समझ नहीं आता कि इस कार्य के लिए उन्हें कैसे लागू करूँ।