فصل ۱۱.
خاموش شدن آرام
در این بخش بعدی کتاب، درباره یک موضوع مهم اما اغلب نادیده گرفته شده صحبت خواهیم کرد: چگونه برنامه در حال اجرای خود را به صورت ایمن متوقف کنیم.
در حال حاضر، وقتی برنامه API خود را متوقف میکنیم (معمولاً با فشردن Ctrl+C)، بلافاصله خاموش میشود و فرصتی برای تکمیل درخواستهای HTTP در حال پردازش وجود ندارد. این دو دلیل نامطلوب است:
- یعنی کلاینتها پاسخی به درخواستهای در حال پردازش خود دریافت نمیکنند — تنها چیزی که تجربه خواهند کرد، بسته شدن ناگهانی اتصال HTTP است.
- هر کاری که توسط handlerهای ما در حال انجام است ممکن است ناتمام باقی بماند.
ما این مشکلات را با اضافه کردن قابلیت خاموش شدن آرام به برنامه خود کاهش خواهیم داد، به طوری که درخواستهای HTTP در حال پردازش فرصت تکمیل پردازش را قبل از خاموش شدن برنامه داشته باشند.
شما درباره موارد زیر یاد خواهید گرفت:
سیگنالهای خاموش شدن — چیستند، چگونه ارسال شوند، و چگونه در برنامه API خود به آنها گوش دهید.
چگونه از این سیگنالها برای اجرای خاموش شدن آرام سرور HTTP با استفاده از متد
Shutdown()در Go استفاده کنید.