Supervisor adalah sistem klien / server yang memungkinkan pengguna untuk mengontrol sejumlah proses pada sistem operasi UNIX-like. Hal ini terinspirasi oleh berikut:
- Hal ini sering nyaman untuk perlu menulis "rc.d" script untuk setiap proses satu contoh. script rc.d adalah bentuk terendah-common-denominator besar proses inisialisasi / autostart / manajemen, tetapi mereka bisa menyakitkan untuk menulis dan memelihara. Selain itu, script rc.d tidak dapat secara otomatis me-restart proses jatuh dan banyak program tidak me-restart sendiri benar pada kecelakaan. Supervisord mulai proses sebagai subproses, serta dapat dikonfigurasi untuk secara otomatis me-restart mereka pada kecelakaan. Hal ini juga dapat secara otomatis dikonfigurasi untuk memulai proses pada doa sendiri.
- Hal ini sering sulit untuk mendapatkan akurat atas / bawah status di proses pada UNIX. Pidfile sering berbohong. Supervisord mulai proses sebagai subproses, sehingga selalu tahu benar atas / bawah status anak dan dapat dilihat mudah untuk data ini.
- Pengguna yang perlu untuk mengontrol keadaan proses sering hanya perlu melakukan itu. Mereka tidak ingin atau membutuhkan akses shell full-blown ke mesin di mana proses yang berjalan. Supervisorctl memungkinkan bentuk yang sangat terbatas akses ke mesin, pada dasarnya memungkinkan pengguna untuk melihat status proses dan kontrol supervisord dikendalikan subproses dengan memancarkan "berhenti", "start", dan "restart" perintah dari shell sederhana atau web UI.
- Pengguna sering perlu untuk mengontrol proses pada banyak mesin. Pengawas menyediakan mekanisme sederhana, aman, dan seragam untuk proses interaktif dan otomatis mengendalikan kelompok-kelompok mesin.
- Proses yang mendengarkan pada "rendah" port TCP sering harus dimulai dan restart sebagai root (a misfeature UNIX). Ini biasanya terjadi bahwa itu baik-baik saja untuk memungkinkan "normal" orang untuk menghentikan atau memulai kembali proses tersebut, tetapi memberi mereka akses shell sering tidak praktis, dan menyediakan mereka dengan akses root atau akses sudo sering tidak mungkin. Ini juga (benar) sulit untuk menjelaskan kepada mereka mengapa masalah ini ada. Jika supervisord dimulai sebagai root, adalah mungkin untuk memungkinkan "normal" pengguna untuk mengontrol proses seperti tanpa perlu menjelaskan seluk-beluk masalah untuk mereka.
- Proses sering harus dimulai dan berhenti di kelompok, kadang-kadang bahkan dalam "urutan prioritas". Hal ini sering sulit untuk menjelaskan kepada orang-orang bagaimana untuk melakukan hal ini. Pengawas memungkinkan Anda untuk menetapkan prioritas proses, dan memungkinkan pengguna untuk memancarkan perintah melalui klien supervisorctl seperti "mulai dari awal", dan "memulai kembali semua", yang dimulai dalam urutan prioritas preassigned. Selain itu, proses dapat dikelompokkan menjadi "kelompok proses" dan serangkaian proses logis terkait dapat dihentikan dan dimulai sebagai sistem unit.otification ditambahkan.
Apa yang baru di rilis ini:
- Perilaku pengguna program pilihan telah berubah. Dalam semua versi sebelumnya, jika supervisord gagal untuk beralih ke pengguna, peringatan akan dikirim ke log stderr tetapi proses anak masih akan melahirkan. Ini berarti bahwa kesalahan dalam file config bisa mengakibatkan proses anak yang sengaja melahirkan sebagai root. Sekarang, supervisord tidak akan menelurkan anak kecuali itu berhasil beralih ke pengguna. Terima kasih kepada Igor Partola untuk melaporkan masalah ini.
- Jika pengguna ditentukan dalam file konfigurasi tidak ada pada sistem, supervisord sekarang akan mencetak kesalahan dan menolak untuk memulai.
- Dikembalikan perubahan untuk penebangan diperkenalkan di 3.0b1 yang dimaksudkan untuk memungkinkan beberapa proses untuk login ke file yang sama dengan log handler berputar. Pelaksanaan menyebabkan supervisord crash saat ulang dan bocor file menangani. Juga, karena opsi rotasi log diberikan pada basis per-program, konfigurasi mungkin dapat dibuat (opsi rotasi bertentangan untuk file yang sama). Mengingat hal ini dan supervisord yang kini telah mendukung syslog, diputuskan untuk menghapus fitur ini. Peringatan ditambahkan ke dokumentasi bahwa dua proses mungkin tidak masuk ke file yang sama.
- Fixed bug di mana parsing perintah = dapat menyebabkan supervisord crash jika shlex.split () gagal, seperti yang buruk mengutip. Patch oleh Scott Wilson.
- Sekarang mungkin untuk menggunakan supervisorctl pada mesin dengan tidak ada file supervisord.conf dengan menyediakan informasi koneksi opsi baris perintah. Patch oleh Jens Rantil.
- Fixed bug di mana supervisord akan crash jika handler syslog digunakan dan supervisord menerima SIGUSR2 (log membuka kembali permintaan).
- Fixed bug XML-RPC di mana memanggil supervisor.getProcessInfo () dengan nama yang buruk akan menyebabkan 500 Internal Server Error daripada kembali kesalahan BAD_NAME.
- Ditambahkan favicon ke antarmuka web. Patch oleh Caio Ariede.
- Tetap kegagalan tes karena penanganan yang salah dari waktu siang di tes childutils. Patch oleh Ildar Hizbulin.
- Fixed sejumlah pyflakes peringatan untuk variabel yang tidak terpakai, impor, dan kode mati. Patch oleh Philippe Ombredanne.
Apa yang baru di versi 3.0 Beta 1:
- Fixed bug di mana parsing lingkungan = tidak memverifikasi bahwa kunci / nilai pasangan yang benar dipisahkan. Patch oleh Martijn Pieters.
- Fixed bug dalam kode server HTTP yang dapat menyebabkan penundaan yang tidak perlu saat mengirim tanggapan besar. Patch oleh Philip Zeyliger.
- Ketika supervisord dijalankan sebagai root, jika bendera -c tidak disediakan, peringatan kini dipancarkan ke konsol. Alasan: supervisord terlihat di direktori kerja saat ini untuk file supervisord.conf; seseorang mungkin mengelabui user root ke dalam memulai supervisord sementara melakukan cd ke dalam direktori yang memiliki supervisord.conf nakal.
- Sebuah peringatan ditambahkan ke dokumentasi tentang implikasi keamanan mulai supervisord tanpa bendera -c.
- Tambahkan boolean program pilihan stopasgroup, default ke false. Ketika benar, penyebab bendera pengawas untuk mengirim sinyal berhenti untuk kelompok seluruh proses. Hal ini berguna untuk program, seperti Flask dalam mode debug, yang tidak menyebarkan sinyal berhenti untuk anak-anak mereka, meninggalkan mereka yatim piatu.
- Python 2.3 tidak lagi didukung. Versi terakhir yang didukung Python 2.3 adalah Pengawas 3.0a12.
- Dihapus terpakai & quot; supervisor_rpc & quot; entry point dari setup.py.
- Fixed bug dalam penangan log berputar yang akan menyebabkan hasil yang tidak diharapkan ketika dua proses yang ditetapkan untuk log ke file yang sama. Patch oleh Whit Morriss.
- Fixed bug di file konfigurasi reload mana setiap isi ulang bisa bocor memori karena daftar pesan peringatan akan ditambahkan tetapi tidak pernah dibersihkan. Patch oleh Philip Zeyliger.
- Ditambahkan log handler Syslog baru. Berkat Denis Bilenko, Nathan L. Smith, dan Jason R. Coombs, yang masing-masing memberikan kontribusi untuk patch.
- Masukkan semua sejarah perubahan ke dalam satu file (CHANGES.txt).
Apa yang baru di versi 3.0 Alpha 12:
- Dirilis untuk mengganti 3.0a11 paket yang rusak di mana non file -Python tidak termasuk dalam paket.
Apa yang baru di versi 3.0 Alpha 10:
- Tetap stylesheet dari antarmuka web sehingga footer baris tidak akan tumpang tindih daftar proses yang panjang. Terima kasih kepada Derek DeVries untuk patch.
- Izinkan plugin antarmuka rpc untuk mendaftarkan jenis acara baru.
- memperbaiki Bug untuk FCGI soket tidak mendapatkan dibersihkan ketika perintah reload dikeluarkan dari supervisorctl. Juga, perilaku default telah berubah untuk soket FCGI. Mereka baru ditutup setiap kali jumlah ofrunning proses dalam kelompok mencapai angka nol. Sebelumnya, soket tetap terbuka kecuali perintah tingkat kelompok berhenti dikeluarkan.
- pesan kesalahan yang lebih baik ketika server HTTP tidak bisa reverse-menyelesaikan hostname ke alamat IP. Perilaku sebelumnya: menunjukkan kesalahan socket. Perilaku saat. Meludahkan saran ke stdout
- Lingkungan variabel diatur melalui lingkungan = nilai dalam
- [supervisord] bagian tidak berpengaruh. Terima kasih kepada Wyatt Baldwin untuk patch.
- bug Perbaiki dimana proses berhenti akan menyebabkan keluaran proses yang terjadi setelah permintaan berhenti dikeluarkan akan hilang. Lihat https://github.com/Supervisor/supervisor/issues/11.
- entri log Pindah perubahan 2.x ke HISTORY.txt.
- Dikonversi CHANGES.txt dan README.txt ke ReStructuredText yang tepat dan termasuk mereka dalam long_description di setup.py.
- Ditambahkan tox.ini untuk paket (dijalankan melalui tox dalam paket dir). Tes pengawas pada beberapa versi Python.
Persyaratan :
- Python
Komentar tidak ditemukan