একদিন production এ এক অদ্ভুত সমস্যা হয়েছিল...
একটা simple external API call করছিলাম Laravel এর Http::get()
দিয়ে। Localhost এ ঠিকঠাক চলছিল, staging এও কোনো সমস্যা ছিল না।
কিন্তু production এ গিয়ে দেখি – কিছু request hang করে থাকে! পুরো সার্ভিস slow হয়ে যায়, response time বেড়ে যায়, queue backlog বাড়তে থাকে।
কী কারণে এমনটা হচ্ছিল?
Initial investigation এ দেখি, external API টা response দিতে অনেক দেরি করছিল।
আর আমাদের Laravel সার্ভার তখন বসে বসে সেই response এর জন্য অপেক্ষা করছিল – কোনো timeout সেট করা ছিল না!
ফলে কয়েকটা request একসাথে stuck হয়ে queue overflow এর মতো সমস্যা তৈরি করছিল।
সমাধান: Timeout সেট করুন! ⏱️
Laravel এ Http::timeout()
method ব্যবহার করে আপনি সহজেই timeout সেট করতে পারেন।
$response = Http::timeout(5)->get('https://external-api.com/data');