Lepsze rc-scripts (Re: SPECS (DEVEL): util-linux.spec - added buildcond with)
Paweł Sakowski
pawel w sakowski.eu.org
Pon, 24 Maj 2004, 18:43:05 CEST
On Mon, 2004-05-24 at 08:25 +0200, Andrzej Krzysztofowicz wrote:
> Ale tu tez o co innego chodzi: czy mozna zrobic takie "needs", zeby
> 1. szlo dalej w przypadku FAIL.
> 2. probowalo zrobic _dokladnie to samo_ pozniej ponownie
> ?
Przy ścisłym trzymaniu się zasady "need" punkt 1 nigdy nie zajdzie --
więc trzeba po prostu zamodelować needami dokładny moment, kiedy usługa
faktycznie może być wykonana (jak we wcześniejszym przykładzie kiedy
swap wymaga NFS).
> Taka sytuacje: A needs B needs C needs D
> I chcesz pomiedzy _kazdymi_ dwoma odpalac skrypt E...
> Projektowo nietrywialne IMO.
Ja bym spojrzał na to inaczej:
swap needs: swapon_/dev/hda3
swap needs: swapon_/home/services/swap
/home/services/swap needs: nfs
Zope needs: nothing [ale dobrze żeby było dużo swapu]
Chodzi o to, żeby tutaj wymusić porządek swapon_/dev/hda3, nfs,
swapon_/home/services/swap, tomcat. Czyli, żeby jeśli kilka usług może
się wykonać (ze względu na spełnienie need) to żeby startowały się
najpierw swapon_*, a potem dopiero inne. Modelowo do zrobienia --
wystarczy usługom dodać parametr "priority" i nie startować już
wykonalnych low-priority dopóki istnieją wykonalne niewykonane
high-priority.
Takie podejście wymaga jeszcze, żeby zaspokajanie needów nie było
robione przez stos wywołań (przez odpalanie /sbin/need), tylko z
jakiegoś procesu centralnego który będzie w stanie spośród procesów
czekających na odpalenie wybrać ten najpilniejszy. Wykonalne.
Chyba żaden z istniejących initscriptów nie obsługuje wszystkiego
powyższego. Jeśli ktoś by się zdecydował implementować własne
initscripty to zgłaszam się do pomocy. Sam wszystkiego nie uciągnę.
... no, może po sesji.
--
+----------------------------------------------------------------------+
| Paweł Sakowski <pawel w sakowski.eu.org> Never trust a man |
| who can count up to 1023 on his fingers. |
+----------------------------------------------------------------------+
Więcej informacji o liście dyskusyjnej pld-devel-pl