problem s ukoncovanim rc scriptu v jailu pri rebootu

Miroslav Lachman 000.fbsd at quip.cz
Sun Dec 16 01:08:04 CET 2007


Dan Lukes wrote:
> Miroslav Lachman napsal/wrote, On 12/15/07 23:29:
[...]
>>Jinak tedy aby to s tim lockf melo smysl (chapu-li to spravne), tak ho 
>>musi pouzivat i ten uzivatel, ktery si spravuje svuj web. Tedy i on 
>>misto puvodniho:
>>python manage.py runfcgi `head -1 django-runfcgi.conf`
>>bude muset spoustet
>>lockf -t 0 tmp/django-runfcgi.lock python manage.py runfcgi `head -1 
>>django-runfcgi.conf`
> 
> 
> 	A on ten uzivatel opravdu pise na prikazove radce takovehle zbesilosti 
> ? Ja bych ocekaval, ze tohle cele ma napsane v nejakem scriptu, ktery 
> vola aniz zna/zkouma jeho obsah. Takze to, ze se jeho obsah zmeni ani 
> nezjisti.

Pokud je mi znamo, tak to tak opravdu pousti, ale neni problem uzivateli 
predhodit hotovy script s vysvetlenim "takhle ho spoustej a takhle ho 
ukoncuj".

> 	Ale zpet k otazce - ano, musi.
> 
> 	"Normalni" by bylo, kdyby program, ktery je napsan tak, ze ma bezet jen 
> jednou, protoze jinak je to problem, mel v sobe nejakou vhodnou pojistku 
> zabudovanou sam (napriklad zamek, stejne jako to dela lockf). U sitovych 
> serveru tomu nejcasteji brani to, ze dva nemohou soucasn eotervit socket 
> stejneho cisla.

Nevim, jak je to tam zarizene, ale vim, ze kdyz jsem ten script pro 
spusteni napoprve napsal a nekolikrat spustil, tak jsem pak mel v 
systemu nekolik fastcgi procesu a jejich rodic pak nemel to PID, ktere 
bylo ulozeno v PID file a tak to pak cele neslo zastavit jednoduchym 
kill `cat tmp/django-runfcgi.pid`. Proto jsem tam pak dopisoval tu 
kontrolu existence PID a...

> 	Kdyz uz se ale stalo, ze ji v sobe nema a "dobastlovava" se to tam 
> externe, musi vsichni hrat hru se stejnymi pravidly aby to fungovalo.

Osobne s Django nepracuju, takze ho neznam nijak dopodrobna, ale co mi 
rukama prosel manual, tak tenhle zpusob spousteni je oficialni a z mych 
zkusenosti si to nijak dobre nehlida, ze bezi jen jedina "instance".

Podobny script mam i pro mongrel pro Ruby On Rails a tam to hlidane je a 
celkove je to dotazene vic k "dokonalosti", takze puvodne jsem si 
myslel, ze jen vezmu svuj existujici script pro mongrel a napasuju ho na 
django, ale nachazim v tom cim dal tim vic nedostatku ;o(

> 	Jinak jeste jednou radsi pripominam, ze se ten script musi spustit tak, 
> aby se sam nedaemonizoval - a takze bude ten lock potreba spoustet v 
> ramci startovaciho scriptu na pozadi.

Nastesti to tak pustit lze (vim, ze jsou i programy, co automaticky 
daemonizuji a "nelze" se tomu vyhnout)

>>muzeme jit spat
> 
> 	Jak kdo ;-)

No taky tu jeste neco tak na hodinku mam :)

Mirek



More information about the Users-l mailing list