Bir işlemi ölürse yeniden başlatmak için upstart, runit, supervisor, daemontools vb. Arasından nasıl seçim yapabilirim?


13

Bir Nginx web proxy, gunicorn web sunucusu ve bir python / flask web uygulamam var. Gunicorn süreci görünüşte öldü ve gelecekte tekrar çökmesi durumunda gunicorn sürecini izleyebilen ve yeniden başlatabilecek bir yardımcı programa bakarak bunu iyileştirmek istiyorum.

İşi yapabilecek birkaç tane buldum:

  • sonradan görme
  • runit
  • gözetmen
  • Daemon araçları
  • çok daha fazlası

Bir süreci izlemek ve yeniden başlatmak için kullanılan çeşitli yardımcı programları karşılaştıran ve tezat oluşturan kapsamlı bir makale var mı?


2
Yeniden başlatma döngüsüne girdiğiniz ve sunucunuzdaki tüm kullanılabilir kaynakları tüketeceğiniz durumlar ortaya çıkacağı için , bu hizmetleri gerçekten kutunun dışından izlemelisiniz .
EEAA

Tam olarak istediğiniz şekilde yapmak için kendi kodunuzu yazın. Bu kolay bir iş.
Ryan Babchishin

Yanıtlar:


3
  • runitdaha başarılı olduğunu daemontools(hem yazılır c)

  • supervisordkullanır python.

Ben kullanıyorum runitile socklogiç aynı yazar tarafından Alpin Linux lxc yönetmek için yaklaşık 10 aydır kaplarda web/ database& diğer çeşitli hizmetler. Hafif, yönetimi kolaydır ve servis hatası yaşamadım. Günlüğü daemon kendi kullanıcı olarak çalışır ve rootgüzel değil .

voidlinux kullandığı runit's olarak initsisteme & de için hizmet denetimi (paket ağacını arama runörnekleri için dosyaları runitkomut).


2

Dağıtımınız Upstart kullanıyorsa, onunla devam edin. İşi yeniden başlatma için çok temel bir desteği vardır, ancak @EEAA tarafından belirtildiği gibi yeniden başlatma döngüsünü önleyebilecek sınırlar içerir.

İşletim sisteminiz başka bir başlangıç ​​programı kullanıyorsa, programı değiştirmeyin. Upstart'ın hala mevcut olduğu Ubuntu kullandığım için (en son LTS'den itibaren) bahsettiğiniz diğer araçlarla size gerçekten yardımcı olamıyorum, bu yüzden onlarla çok az şeyim var. Ancak dakikada bir kez cron'dan (veya daha sık, yani bir döngüde) çalıştırılan basit bir komut dosyası oluşturmak zor bir görev değildir ;

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.