[Gelistirici] ÇOMAR ve Servisler (Request for Comments)
Bahadır Kandemir
bahadir at pardus.org.tr
9 Oca 2008 Çar 16:23:39 EET
Selamlar,
Dün servis yönetiminin yeni ÇOMAR'a aktarılması için çalışmalara başladım.
ÇOMAR 1.*'daki gibi, tüm servisleri aynı anda paralel olarak başlatmak
yerine, servis bağımlılıklarını dikkate alacak bir servis yönetimi
oluşturma niyetindeyim.
Planladığım süreç şöyle:
1) Servis bağımlılık listesini al.
2) Bağımlılığı olmayan tüm servisleri paralel çalıştır.
3) Başlatma işlemi tamamlanmış her servisin ardından 2'ye dön.
4) Servisler başlatıldı.
Bağımlılıkların şu şekilde olduğunu varsayarsak:
dependencies = {
'hal': ['consolekit', 'udev'],
'consolekit': [],
'kdebase': ['hal', 'consolekit'],
'apache': ['net'],
'mysql': ['net'],
'ldap': ['net'],
}
Servisler bu sırada çalışacak:
* Hepsinden önce dbus
* [net, udev, consolekit] paralel
* [net] başlatıldıktan sonra [mysql, apache, ldap] paralel
* [consolekit] başlatıldıktan sonra [hal]
* [hal, consolekit] başlatıldıktan sonra [kdebase]
Paralel başlatma işlemi, asenkron çağrılar ile yapılacak. Müdür'de DBus
event loop bulunması gerekiyor bu iş için. Glib mainloop kullanırsak
Müdür'ün bağımlılıkları arasına pygobject, gtk2, ... gibi bir sürü paket
giriyor -ki aynı şey Qt mainloop için de geçerli- olacak iş değil bu.
Bağımlığı olmayan bir DBus çözümü var(dı) depomuzda: D_Light. PyQt4 DBus
event loop PyQt3'e port edilemezse diye yazmıştım. Ancak, servis yönetimi
gibi önemli bir iş D_Light kullanmak ne kadar doğru emin değilim.
D_Light da olmazsa, paralel servis çalıştırma işini bir kenara bırakıp
Müdür öncesi dönemde olduğu gibi her servisi sırayla başlatmaya geri
döneceğiz gibi görünüyor.
Siz ne düşünüyorsunuz?
--
Bahadır Kandemir
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20080109/996e4d14/attachment-0002.pgp>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi