Arayüzünün görünümü ise şöyle:
Komut satırını kullanarakta bilgi almak mümkün. Komut satırına supervisorctl yazarak etkileşimli bir kabuk açıldığını göreceğiz. "help" yazdığımızda yapabileceklerimizi rahatlıkla görebiliriz.
Kurulumu:
"easy-install supervisor", "pip install supervisor" kullanmak ya da direk kaynak kodundan kurmakta mümkün ama depodan kurabiliyor olmak kullanım alanını genişletecektir. Bu yüzden bunu tercih ediyoruz.
$ sudo apt-get install supervisor
Şuan varsayılan olarak /etc/supervisor/supervisord.conf yolunda şablon olarak bir yapılandırma dosyası oluşmuş olmalı. İşler karmaşıklaştığında yönetimin daha kolay olması için buradaki bazı bölümleri yavaş yavaş /etc/supervisor/conf.d/ dizini altına taşıyacağız. İlk olarak http yaplandırması kısmını şöyle yazıyoruz:
# vim /etc/supervisor/conf.d/http.conf
Açılan dosyaya şu yapılandırma bilgierini ekeyelim:
[inet_http_server] ; inet (TCP) server disabled by default
port=*:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123 ; (default is no password (open server))
İçinde şuan kayıtlı hiçbir süreç olmadığından çalıştığında bir süreç göremeyeceğiz. Çalıştırmak için şu komutu verelim:
# service supervisor start
Şimdi adres çubuğuna localhost:9001 yazdığımızda yukarıdaki resmin süreçler olmadan ki halini görüyor olmamız lazım
Şimdi hiçbirşey yapmayan örnek bir kod yazalım supervisor'a ekleyelim ve durumunu inceleyelim:
# vim /usr/local/bin/long.sh
Açılan dosyaya şu kodu yazalım:
#!/bin/bash
while true
do
# Echo current date to stdout
echo `date`
# Echo 'error!' to stderr
echo 'error!' >&2
sleep 1
done
# chmod +x /usr/local/bin/long.sh
Şimdi yazdığımız bu küçük programı supervisor 'un yapılandırmasın ekleyelim.
# vim /etc/supervisor/conf.d/long_script.conf
Açılan dosyaya şunalrı yazalım:
[program:long_script] ; programa verecğimiz isim
command=/usr/local/bin/long.sh ; eklemek istediğimiz kodun yolu
autostart=true ; supervisor çalıştığında otomatik başlatılıp başlatılmayacağı
autorestart=true ; otomatik yeniden başlatılıp başlatılmayacağı
stderr_logfile=/var/log/long.err.log ; standart hata çıktısının yazılacağı dosyanın yolu
stdout_logfile=/var/log/long.out.log ; standart çıktısının yazılacağı dosyanın yolu
Bu dosyayı kaydedip çıkalım. Bu yaptığımız değişiklikleri okuyabilmesi için supervisor'u yeniden başlatalım:
# service supervisor restart
Şimdi adres çubuğuna yeniden localhost:9001 yazdığımızda bir tane satır görüyor olmamız gerekiyor.
Programla ilgili şu bilgileri göreceğiz:
Durumu:
--running
--starting
--backoff
--stopping
--stopped
--exited
--fatal
Süreç numarası:
--pid 1800
Sürecin çalıştığı süre:
--uptime 3:24:07
Adı:
--long_script
Ve bu süreç üzerinde yapabileceğimiz olaylar: Yeniden başlat, başlat, durdur, logları temizle, logları görüntüle gibi
Bir sonraki yazımda XML-RPC API sinin kullanımından API yi kullanarak süreçlere nasıl müdahale edebildiğimizden bahsedeceğim.
Hiç yorum yok:
Yorum Gönder