জবাবদিহি সুপারভাইজার পুনরায় চালু করতে অসুবিধা হয়


8

আমি আমার উত্তরযোগ্য প্লেবুকের মাধ্যমে সুপারভাইজারকে পুনরায় চালু করার চেষ্টা করছি তবে আমি মনে করি আনসিবুলের জন্য সুপারভাইজার মডিউল নিয়ে কোনও সমস্যার মধ্যে পড়েছি।

আমার সুপারভাইজার কনফিগারেশনে আমি একটি প্রোগ্রাম সংজ্ঞায়িত করেছি:

[program:process]
process_name=%(program_name)s_%(process_num)02d
command=/home/box1/workers/bin/process
numprocs=64
directory=/home/box1/workers/bin
autostart=true
autorestart=true
startretries=5
stderr_logfile=/tmp/%(program_name)s-err.log
stdout_logfile=/tmp/%(program_name)s-out.log
user=root

এবং এটি সূক্ষ্ম কাজ করে। তবে, আমি যখন জবাব দিয়ে সুপারভাইজার পুনরায় চালু করার চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

failed: [box1] => {"failed": true}
msg: program:process: ERROR (no such process)
program:process: ERROR (no such process)

আমার উত্তরযোগ্য টাস্ক কনফিগারেশনটি এর মতো দেখাচ্ছে:

- name: Restart Supervisor
  sudo: yes
  supervisorctl: name=program:process state=restarted config=/etc/supervisor/supervisord.conf

জন্য nameপরামিতি আমি চেষ্টা করেছি program:process, program, program:এবং processকিন্তু কোনোটাই কাজ বলে মনে হচ্ছে। আমি বর্তমানে উত্তরযোগ্য 1.5.4 এ আছি।


1
প্রথমটি হ'ল আনসিবল আপডেট করা। আপনার এত পুরানো সংস্করণে আসার কোনও কারণ নেই।
মাইকেল হ্যাম্পটন

এটি উবুন্টু 14.04 এলটিএস-এর সাথে আসা বাক্স সংস্করণটির বাইরে। আমি বুঝতে পেরেছি এটি কিছুটা তারিখযুক্ত তবে সুপারভাইজার মডিউল সম্পর্কিত উত্তরীয় ম্যানুয়ালটিতে কিছুই আমার ইঙ্গিত দেয় না (গ্রুপ নামের জিনিসটি ছাড়াও আমি আগ্রহী নই)। মঞ্জুর, একটি নতুন সংস্করণে বাগ ফিক্স থাকতে পারে তবে, আমি যা চেষ্টা করছি তা বেশ উত্তেজনাপূর্ণ বলে মনে হচ্ছে যে কোনও সর্বশেষ সংস্করণ এটি পরিচালনা করতে সক্ষম হবে না।
লুক

আমি মোটামুটি নিশ্চিত যে এর জন্য আপনার উত্তরীয় ১.6 বা তার পরে প্রয়োজন, ঠিক যেমনটি তখন গ্রুপ সমর্থন যোগ করা হয়েছিল। এমনকি রেড হ্যাট সর্বশেষতম স্থিতিশীল সংস্করণটিও সন্ধান করছে (তারা বর্তমানে 1.9.4 এ রয়েছে), সুতরাং উবুন্টুর সাথে এখানে কী চুক্তি হয়েছে তা আমি জানি না। অবশ্যই রেড হ্যাটতে আপনি কেবল সিস্টেমড ব্যবহার করতে পারেন এবং এই সমস্ত সুপারভাইজার স্টাফ সম্পর্কে ভুলে যেতে পারেন।
মাইকেল হ্যাম্পটন

কোন চিন্তা করো না. এটি সেই দস্তাবেজটি আমি যাচ্ছি: docs.ansible.com/ansible/supervisorctl_module.html
লূক

ঠিক আছে, এবং এটি একই পৃষ্ঠায় আপনার নোট 1.6 প্রয়োজন নোট!
মাইকেল হ্যাম্পটন

উত্তর:


9

supervisorctlAnsible মডিউল সমর্থন করে না reloadকমান্ড ( এখানে দেখতে ), যা সুপারভাইজার নতুন কনফিগারেশন এন্ট্রি কুড়ান করার জন্য প্রয়োজন হয়।

আপনি নিজের মতো করে এটি করতে পারেন:

- command: supervisorctl reread
  sudo: yes
- supervisorctl: name=program:process state=restarted config=/etc/supervisor/supervisord.conf
  sudo: yes

পুনরায় লোড / পুনর্নির্মাণ / আপডেট / পুনঃসূচনা সংক্রান্ত ডকুমেন্টেশন অনুপস্থিত মনে হয় এবং এই ব্লগ পোস্টটি পুরানো ; আপনি reloadযা আশা করছেন তা নিশ্চিত করার জন্য আপনি পরীক্ষা করতে পারেন।

অবশেষে, আপনার প্রোগ্রামের সংজ্ঞাগুলি সুপারভাইজারডকন্টে রাখবেন না । পরিবর্তে এগুলি /etc/supervisor/conf.d/*.conf এ পৃথক ফাইল হিসাবে রাখুন। এটি ইনস্টলেশন ও রক্ষণাবেক্ষণকে অনেক সহজ করে তোলে।


2
তার জন্য ধন্যবাদ. অনেক প্রশংসিত, তবে, এটি কোনও পার্থক্য করে না। supervisorctlকাজের এখনও ব্যর্থ হচ্ছে কারণ এটি উল্লেখ থাকতে পারে না / এটি program:process। এটি এই উত্তরীয় মডিউলে একটি সমস্যা বলে মনে হচ্ছে (এবং হ্যাঁ, আমি আমার প্রোগ্রামের সংজ্ঞাগুলি এর ভিতরে রাখি না supervisord.confএবং সেগুলি বাহ্যিক confফাইলগুলি থেকে বোঝাই হয় )। শেষ পর্যন্ত আমি সুপারভাইজার মডিউলটিকে পুরোপুরি বাইপাস করে একটি সাধারণ উত্তরযোগ্য কমান্ড দিয়ে চলেছি: command: supervisorctl -c /etc/supervisor/supervisord.conf restartএবং এটি পুরোপুরি কার্যকর হয়।
লুক

এটি -c@ লুলুকে ছাড়া কি কাজ করে ?
টেডার 42
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.