চাকরিটি বাইরে গেলে সুপারভাইজারের কাছ থেকে বিজ্ঞপ্তি পান


36

সেখানে কোন উপায় আছে কি supervisordস্বয়ংক্রিয়ভাবে একটি ব্যর্থ / থেকে প্রস্থান / সমাপ্ত কাজ পুনরায় চালু করতে পারেন এবং আমাকে লগ ফাইল শেষ এক্স লাইনের একটি ডাম্প সঙ্গে একটি বিজ্ঞপ্তি ইমেল পাঠাতে?

উত্তর:


49

সুপারল্যান্স নামে একটি প্লাগইন রয়েছে।

আপনি এটি এটিকে ইনস্টল করুন pip install superlanceবা এটি এখানে ডাউনলোড করুন: http://pypi.python.org/pypi/superlance

পরবর্তী কাজটি আপনি যা করেন তা হ'ল আপনি নিজের প্রবেশ করুন supervisord.confএবং নিম্নলিখিত লাইনগুলি যুক্ত করুন:

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m email1@example.com
events=PROCESS_STATE

এটি একটি "সুপারভাইসর আপডেট" অনুসরণ করা উচিত। যখন কোনও প্রক্রিয়া "প্রস্থান করে" আপনি এখন ইমেল 1@example.com এ প্রেরিত একটি বিজ্ঞপ্তি পাবেন।

আপনি শুধুমাত্র কিছু নির্বাচিত অ্যাপ্লিকেশানে শুনতে চান, তাহলে আপনি বিনিময় করতে পারেন -aএকটি জন্য -p program1বা যদি এটি একটি গ্রুপ group1:program2একটি উদাহরণ হবে

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2  -m email1@example.com
events=PROCESS_STATE

স্বয়ংক্রিয় পুনঃসূচনা সম্পর্কে: আপনার অবশ্যই autorestartএটি সেট করা আছে তা নিশ্চিত করা উচিত true(এটি unexpectedডিফল্টরূপে সেট করা আছে )। এই প্যাকেজটি 3 বার পুনরায় চালু হবে। এর পরে যদি এটি এখনও বাইরে চলে যায় তবে এটি ছেড়ে দেয় তবে আপনি এটি দিয়ে এটি পরিবর্তন করতে পারেন startretries

উদাহরণ প্রোগ্রাম:

[program:cat]
command=/bin/cat
autorestart=true
startretries=10

কয়েক বছর নিষ্ক্রিয় থাকা সত্ত্বেও এই থ্রেডটি এখনও বৈধ - আমি সুপারভাইরাস ৩.১.৪ (সেন্টোস)) এর সাথে সর্পিলেন্স ১.০.০ (তারিখের অক্টোবর ২০১)) পরীক্ষা করেছি এবং ক্র্যাশমেল ঠিক কাজ করেছে worked
ডেভিড রামিরেজ

0

আমি সুপারল্যান্স ইনস্টল করার চেষ্টা করেছি এবং এটির মতো ক্র্যাশমেল চালাচ্ছি:

sudo apt-get install python-pip
sudo pip install superlance

আমি করার পরে:

sudo nano /etc/supervisor/supervisord.conf

এবং আমি যুক্ত করার পরে:

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m mymail@mail.fr
events=PROCESS_STATE

এবং আমি কিছুই গ্রহণ করি না ...

আমার ক্র্যাশমেল ফাইলটি হ'ল:

#!/usr/bin/python

-- coding: utf-8 --
import re
import sys

from superlance.crashmail import main

if name == 'main':
sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
sys.exit(main())
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.