[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