আমার দলের একজন সদস্য একটি চতুর সমাধান নিয়ে এসেছিলেন যা মনিটকে ঘন ঘন (প্রতি মিনিটে) পরীক্ষা করতে দেয় , তবে একবার পরিষেবাটি পুনরায় চালু করার চেষ্টা করার পরে (যা ~ 10 মিনিট সময় নেয়) এটি শুরু করার চেষ্টা করার আগে একটি নির্দিষ্ট অনুগ্রহকাল অপেক্ষা করবে আবার।
এটি চেকগুলির মধ্যে দীর্ঘ অপেক্ষা করতে বাধা দেয় যা ধীর গতির সাথে মিলিয়ে গ্রাহকদের জন্য অনেক বড় প্রভাব। এটি মধ্যবর্তী স্ক্রিপ্ট ব্যবহার করে কাজ করে যা মনিটকে চিহ্নিত করতে পতাকা হিসাবে কাজ করে ইতিমধ্যে শেষ ব্যর্থতা থেকে পদক্ষেপ নিচ্ছে।
check host bamboo with address bamboo.mysite.com
if failed
port 443 type tcpSSL protocol http
and status = 200
and request /about.action
for 3 cycles
then exec "/bin/bash -c 'ps -ef | grep -v "$$" | grep -v "grep" | grep restartBamboo.sh >/dev/null 2>&1; if [ $? -ne 0 ]; then /opt/monit/scripts/restartBamboo.sh; fi'"
যদি বাঁশ (ধীরে শুরু হওয়া ওয়েব অ্যাপ্লিকেশন) একটানা 3 মিনিটের জন্য নিচে থাকে তবে পুনরায় চালু করুন, তবে পুনর্সূচনা স্ক্রিপ্ট ইতিমধ্যে চালু না থাকলে তবেই পুনরায় চালু করুন।
যে স্ক্রিপ্টটি বলা হয় তাতে একটি নির্দিষ্ট ঘুম থাকে যা দীর্ঘ সময়ের জন্য অপেক্ষা করে তারপরে পরিষেবাটির জন্য ধীরতম সূচনার সময় (আমাদের ক্ষেত্রে আমরা 10 ডলারে শেষ করার প্রত্যাশা করি, তাই আমরা 15 এর জন্য ঘুমাই)
#!/bin/bash
echo "Retarting bambo by calling init.d"
/etc/init.d/bamboo stop
echo "Stopped completed, calling start"
/etc/init.d/bamboo start
echo "Done restarting bamboo, but it will run in background for sometime before available so, we are sleeping for 15 minutes"
sleep 900
echo "done sleeping"