Ça a l'air pas mal, et comme c'est simple, ça me tente.
Upstart, sur le papier c'est bien. Sauf qu'en pratique il manque plein de choses. Les conditions pour lancer un service sont insuffisantes (par exemple il est possible de lancer un service si on a reçu l'évennement A ou B, mais pas si on a reçu A et B). Donc c'est gênant. Un service ne peux dépendre que d'un autre service, pas de deux à la fois.
Ensuite, le design est joli, mais cf les derniers messages de la mailing liste, ça pose des petits problèmes. Et si on veut faire quelque chose dans l'esprit d'upstart, il faudrait écrire plein de scripts udev ou autre pour transformer les evennements udev en evennements upstart.
Donc upstart c'est bien mais c'est pas encore ça. Sans compter qu'il est facile de le faire entrer dans une boucle infinie. Par exemple j'ai eu un service qui dépendant pour être démarré de lui même. Du coup j'ai un processeur qui tourne comme un fou et la seule solution, c'est de redémarrer.
Donc quelque chose de simple ça me tente. Seulement je crains un peu que les scripts bash plombent les performances du système d'init. Je me dis que si on base tout sur un langage de script très léger comme Lua [http://lua.org], ça peut améliorer les performances. Donc du coup j'ai commencé à écrire un truc.
L'avantage de lua, c'est qu'il est possible d'avoir plusieurs threads. Et ces threads sont gérés par la machine virtuelle et ne sont pas ordonnancés. C'est le programmeur qui va définir quand le thread va se stopper en faveur d'un autre. Donc du coup pas mal de problèmes de concurrence sont résolus (car il n'y a pas vraimment de concurrence).
[^] # Re: runit
Posté par Mildred (site web personnel) . En réponse au journal Temps de démarrage: Mac OS X contre Linux. Évalué à 1.
Upstart, sur le papier c'est bien. Sauf qu'en pratique il manque plein de choses. Les conditions pour lancer un service sont insuffisantes (par exemple il est possible de lancer un service si on a reçu l'évennement A ou B, mais pas si on a reçu A et B). Donc c'est gênant. Un service ne peux dépendre que d'un autre service, pas de deux à la fois.
Ensuite, le design est joli, mais cf les derniers messages de la mailing liste, ça pose des petits problèmes. Et si on veut faire quelque chose dans l'esprit d'upstart, il faudrait écrire plein de scripts udev ou autre pour transformer les evennements udev en evennements upstart.
Donc upstart c'est bien mais c'est pas encore ça. Sans compter qu'il est facile de le faire entrer dans une boucle infinie. Par exemple j'ai eu un service qui dépendant pour être démarré de lui même. Du coup j'ai un processeur qui tourne comme un fou et la seule solution, c'est de redémarrer.
Donc quelque chose de simple ça me tente. Seulement je crains un peu que les scripts bash plombent les performances du système d'init. Je me dis que si on base tout sur un langage de script très léger comme Lua [http://lua.org], ça peut améliorer les performances. Donc du coup j'ai commencé à écrire un truc.
L'avantage de lua, c'est qu'il est possible d'avoir plusieurs threads. Et ces threads sont gérés par la machine virtuelle et ne sont pas ordonnancés. C'est le programmeur qui va définir quand le thread va se stopper en faveur d'un autre. Donc du coup pas mal de problèmes de concurrence sont résolus (car il n'y a pas vraimment de concurrence).
Bon, je vais me coucher, bonne nuit :)