Mungkin saya melewatkannya tetapi apakah ada penjelasan yang bagus tentang perbedaan antara keempat perintah ini? Saya tidak melihat mereka dibahas dalam dokumentasi online supervisord. Saya perhatikan di ServerFault dan Stackoverflow bahwa pengguna lain juga tidak memahami perbedaan mereka.
Misalnya, jika saya mengubah konfigurasi di satu bagian program, saya tahu saya harus melakukan "supervisorctl reread" agar perubahan tersebut tersedia. Tapi bagaimana Anda me-restart hanya satu program itu? supervisorctl restart
Terima kasih.
Mungkin saya melewatkannya tetapi apakah ada penjelasan yang bagus tentang perbedaan antara keempat perintah ini?
Tidak, ini harus ditambahkan ke dokumentasi. Saya telah menambahkan label dokumen dan akan membiarkan masalah ini terbuka, jadi kami melakukannya.
Masih menemukan dokumen saat ini membingungkan.
Apa yang membantu saya - http://www.onurguzel.com/supervisord-restarting-and-reloading/
Terima kasih teman.
Pada Selasa, 13 Des 2016 pukul 07:35, Paweł [email protected]
menulis:
Apa yang membantu saya - http://www.onurguzel.com/supervisord-restarting-and-
memuat ulang/—
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Supervisor/supervisor/issues/720#issuecomment-266770482 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AEgNpM6R9BMwE03q_DejU96qUOef8zCtks5rHrtMgaJpZM4HZsaj
.
@flaugher Saya masih berpikir itu layak untuk menjaga masalah ini tetap terbuka, karena dokumen masih belum memiliki informasi yang relevan.
Saya sebenarnya berencana untuk membuat PR di akhir pekan.
Jika Anda ingin membukanya kembali, silakan. Saya tidak melihat sesuatu yang baru dan telah mengatasi masalah ini dan tidak ingin terus menerima pemberitahuan. Saya tidak tahu cara menonaktifkannya, jadi saya tutup saja.
Pada 13 Desember 2016, pukul 16.03, Paweł [email protected] menulis:
@flaugher Saya masih berpikir bahwa masalah ini tetap perlu dibuka, karena dokumen masih belum memiliki informasinya.
Saya sebenarnya berencana untuk membuat PR di akhir pekan.
—
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub, atau matikan utasnya.
Sebagai anggota non proyek atau pembuat masalah, saya tidak dapat membukanya, tetapi saya mengerti maksud Anda sepenuhnya.
BTW - Sejauh yang saya tahu Anda dapat berhenti berlangganan notifikasi di menu sebelah kanan dalam tampilan masalah
Terakhir - maaf untuk spam: -)
Halo semuanya.
IMHO , saya setuju dengan pembukaan kembali masalah ini.
Meskipun doc di bawah ini dapat menjelaskan masalah ini, tampaknya agak kabur mengenai definisinya.
Mengenai tindakan "perbarui", saya percaya bahwa ada lebih banyak hal yang harus dijelaskan atau dijelaskan dengan lebih baik, misalnya.
Berikut skenarionya: ketika Anda membuat konfigurasi untuk proses yang akan dikelola oleh "supervisord", Anda menjalankan "supervisorctl update" dan kemudian muncul pesan "your_configured_process: add process group". Apakah ada jenis grup yang dikendalikan oleh "supervisord", yang harus berisi catatan yang menentukan bahwa proses Anda sekarang dikelola oleh "supervidord"?
Dalam pencarian terakhir saya di Google, saya juga menemukan halaman manual ini di situs web Ubuntu, dan sepertinya tidak ada penjelasan untuk tindakan supervisorctl..
Adakah yang bisa (anggota proyek) membuka kembali masalah ini? Sepertinya bukan hanya aku yang percaya bahwa ini harus dilakukan.
Terima kasih
@ivanleoncz
Jadi dimana jawabannya?
+1 untuk pembukaan kembali. reread|reload|restart|update
masih belum didokumentasikan.
Hai, Maaf menjadi orang ini, tetapi, bisakah kami membuka kembali masalah itu? Terima kasih.
@pawelad Bagaimana itu membantu Anda? Kalimat kedua benar-benar salah.
Namun itu tidak memiliki opsi isi ulang.
Supervisor pasti memiliki opsi reload
...
Namun orang lain di sini yang akan sangat menghargai beberapa dokumentasi _usable_...
Wow. Saya tidak percaya masalah ini ada. Terima kasih @ivanlmj untuk tautan informatifnya.
Sama-sama, @cornfeedhobo . Terima kasih atas masalah ini :).
Seseorang tolong jelaskan tindakan reload
: apa yang saya harapkan dari yang ini pada dasarnya adalah reread
+ update
. Apakah itu perilaku saat ini?
Itu pasti tidak, tetapi Anda akan berpikir begitu! Man beberapa dokumen yang diperbarui akan sangat bagus sekarang ....
@mnaberez bisakah kita memiliki definisi yang jelas dari setiap istilah itu?
Jika Anda dapat merincinya di sini, saya akan dengan senang hati mengajukan permintaan tarik ke dokumen.
Apakah definisi berikut berfungsi untuk dokumentasi ?
reread - Baca ulang konfigurasi supervisor. Jangan perbarui atau mulai ulang layanan yang sedang berjalan.
update - Mulai ulang layanan yang konfigurasinya telah berubah. Biasanya dijalankan setelah 'membaca ulang'.
reload - Baca ulang konfigurasi supervisor, muat ulang supervisord
dan supervisorctl
, mulai ulang layanan yang dimulai.
restart - Mulai ulang layanan
Cukup bagus!
Sudahkah Anda memastikan bahwa ini adalah aspek nyata dari setiap tindakan, @ocervell ? Jika Anda yakin, alangkah baiknya jika Anda mengirimkan PR untuk dokumentasinya! Cuma bilang :)! Terima kasih!
Saya mencoba supervisorctl reread and update, dan menemukan bahwa 'update' hanya melakukan pekerjaan membaca ulang: memuat ulang konfigurasi aplikasi. jadi apa perlunya tindakan 'membaca ulang'? saya menemukan bingung
$ supervisorctl help update
update Reload config and add/remove as necessary, and will restart affected programs
update all Reload config and add/remove as necessary, and will restart affected programs
update <gname> [...] Update specific groups
Jadi reread
tidak diperlukan?
Saya merasa masih sedikit membingungkan. Saat ini saya menjalankan update
dan restart all
pada pembaruan perangkat lunak kami. Ini bisa jadi:
Tetapi ketika konfigurasi supervisor diperbarui, skrip dimulai ulang dua kali (karena update
dan restart all
). Saya juga mencoba reread
dan restart all
, tetapi dalam kasus ini file konfigurasi baru tidak dimulai secara otomatis.
Apakah ada perintah atau kombinasi perintah yang akan memuat ulang semua file konfigurasi dan memulai ulang semua skrip tanpa memulai ulang dua kali dan memuat dan memulai file konfigurasi baru yang ditemukan?
Tidak ada orang di pertanyaan @Wouter0100 ?
@Wouter0100 Mempertimbangkan Anda "memulai ulang semua" apa yang Anda inginkan mungkin paling baik dicapai dengan "realod", meskipun dengan cara yang sedikit berbeda:
Reload akan menghentikan daemon supervisor, memuat ulang konfigurasi dan kemudian me-restart daemon. Dengan asumsi proses Anda memiliki autostart=true (default) semuanya akan dimulai ulang tepat sekali.
Jika Anda membutuhkan sesuatu yang kurang menyeluruh, saya khawatir Anda kurang beruntung: membaca ulang tidak akan memulai proses baru yang ditemukan (seperti yang Anda perhatikan) dan pembaruan akan dimulai ulang hanya jika konfigurasi berubah, dan tidak akan memulai ulang proses (misalnya) yang (pengawas ) config tetap sama, tetapi yang dapat dieksekusi berubah ke versi baru.
Saya memposting solusi lain di #1264.
@AlekSi sebenarnya bukan solusi, karena ini memerlukan penentuan setiap file satu per satu.
Yah, itu tergantung pada kasus penggunaan Anda. Dalam kasus saya, tugas Ansible berfungsi:
- name: Restart services
command: supervisorctl {{ item.1 }} {{ item.0 }}
with_nested:
- ['x', 'y', 'z']
- ['stop', 'remove', 'add']
Pertanyaan yang diposting pada edisi duplikat #1264:
Ini adalah kelanjutan dari #720 yang ditutup tetapi mengandung komentar dari banyak orang yang bingung.
Masalahku
Saya perlu memulai ulang layanan X tepat sekali setelah paketnya diperbarui. Ini berisi biner layanan dan bagian dari konfigurasi pengawas yaitu
include
-ed dari file utama.Upaya saya
1. `supervisorctl update` does not restart service if configuration file did not change, old binary is still running. 2. `supervisorctl restart` restarts service with the old configuration, the new configuration is not used. 3. `supervisorctl reread && supervisorctl restart` does the same as the one above – and that is very surprising! 4. `supervisorctl update && supervisorctl restart` restarts service twice if configuration file changed.
solusi saya
supervisorctl reread supervisorctl stop X supervisorctl remove X supervisorctl add X # that also starts X as I have `autostart = true` in configuration
Itu bekerja. Tapi apakah itu benar-benar cara terbaik?
Dan mengapa upaya 3 tidak berhasil?
Itu bekerja. Tapi apakah itu benar-benar cara terbaik?
Ya
Dan mengapa upaya 3 tidak berhasil?
Perintah reread
menyebabkan supervisord
membaca ulang file konfigurasi dan mengetahui perubahannya, tetapi tidak menerapkan perubahan apa pun pada konfigurasi aktif. Perintah remove
dan add
digunakan untuk menerapkan perubahan tersebut ke konfigurasi aktif.
Komentar yang paling membantu
Apakah definisi berikut berfungsi untuk dokumentasi ?
reread - Baca ulang konfigurasi supervisor. Jangan perbarui atau mulai ulang layanan yang sedang berjalan.
update - Mulai ulang layanan yang konfigurasinya telah berubah. Biasanya dijalankan setelah 'membaca ulang'.
reload - Baca ulang konfigurasi supervisor, muat ulang
supervisord
dansupervisorctl
, mulai ulang layanan yang dimulai.restart - Mulai ulang layanan