আমি মূলত স্ট্যাক ওভারফ্লোতে এই প্রশ্নটি জিজ্ঞাসা করেছি। তখন বুঝতে পারলাম যে এটি সম্ভবত আরও ভাল জায়গা।
আমার বিলম্বিত_জব প্রক্রিয়াগুলি নিরীক্ষণের জন্য আমার ব্লুপিল সেটআপ রয়েছে। (রুবি অন রেলস আবেদন)
উবুন্টু 12.10 ব্যবহার করে।
আমি উবুন্টু ব্যবহার করে নিজেই ব্লুপিল পরিষেবাটি শুরু এবং নিরীক্ষণ করছি upstart
। আমার আপস্টার্ট কনফিগারেশনটি নীচে ( /etc/init/bluepill.conf
)।
description "Start up the bluepill service"
start on runlevel [2]
stop on runlevel [016]
expect daemon
exec sudo /home/deploy/.rvm/wrappers/<app_name>/bluepill load /home/deploy/websites/<app_name>/current/config/server/staging/delayed_job.bluepill
# Restart the process if it dies with a signal
# or exit code not given by the 'normal exit' stanza.
respawn
আমি এর expect fork
পরিবর্তে চেষ্টাও করেছি expect daemon
। আমি expect...
লাইনটি পুরোপুরি সরিয়ে দেওয়ার চেষ্টা করেছি ।
মেশিন বুট হয়ে গেলে, ব্লুপিল সূক্ষ্ম শুরু হয়।
$ ps aux | grep blue
root 1154 0.6 0.8 206416 17372 ? Sl 21:19 0:00 bluepilld: <app_name>
ব্লুপিল প্রক্রিয়াটির পিআইডি এখানে 1154। তবে upstart
মনে হয় ভুল পিআইডি ট্র্যাক করছে। এটি একটি পিআইডি ট্র্যাক করছে যা বিদ্যমান নেই।
$ initctl status bluepill
bluepill start/running, process 990
আমি মনে করি এটি sudo
ব্লুপিল প্রক্রিয়া শুরু হওয়া প্রক্রিয়ার পিআইডি ট্র্যাক করছে ।
যদি আমি জোর করে ব্লুপিল ব্যবহার করে মেরে ফেলি তবে এটি ব্লুপিল প্রক্রিয়াটিকে পুনরুদ্ধার করতে বাধা দিচ্ছে kill -9
।
তদুপরি, আমি মনে করি ভুল পিআইডি ট্র্যাক হওয়ার কারণে, রিবুট / শাটডাউনটি কেবল স্তব্ধ হয়ে যায় এবং প্রতিবারই আমাকে মেশিনটিকে হার্ড রিসেট করতে হয়।
এখানে সমস্যা কি হতে পারে?
আপডেট :
সমস্যাটি আজ অবধি (3 মে 2015) উবুন্টু 14.04.2 তে রয়ে গেছে।
সমস্যাটি সুডো ব্যবহারের কারণে নয়। আমি আর সুডো ব্যবহার করছি না। আমার আপডেট হওয়া আপস্টার্ট কনফিগারেশনটি হ'ল:
description "Start up the bluepill service"
start on runlevel [2]
stop on runlevel [016]
# Restart the process if it dies with a signal
# or exit code not given by the 'normal exit' stanza.
respawn
# Give up if restart occurs 10 times in 90 seconds.
respawn limit 10 90
expect daemon
script
shared_path=/home/deploy/websites/some_app/shared
bluepill load $shared_path/config/delayed_job.bluepill
end script
যখন মেশিন বুট হয়, প্রোগ্রামটি সূক্ষ্ম লোড হয়। তবে উপরে বর্ণিত হিসাবে আপস্টার্ট এখনও ভুল পিআইডি ট্র্যাক করে।
মন্তব্যে উল্লিখিত কর্মপরিকল্পনা হ্যাঙ্গিংয়ের সমস্যার সমাধান করতে পারে। যদিও আমি চেষ্টা করে দেখিনি।
ps aux | grep 990
এটি করা উচিত তবেpstree 990
আরও তথ্যপূর্ণ হতে পারে।