إتقان الـ Context
في الخدمات المصغرة، لا تريد لطلب أن يعمل للأبد إذا كان العميل قد قطع الاتصال بالفعل. حزمة context تعالج هذا الأمر.
go ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second) defer cancel()
// تمرير الـ ctx لاستدعاءات قاعدة البيانات أو الـ APIs الخارجية req, _ := http.NewRequestWithContext(ctx, "GET", url, nil)
إذا تم الوصول إلى المهلة المحددة، يتم إخطار جميع العمليات التابعة للتوقف، مما يوفر الموارد.