ugrás a tartalomhoz

PHP CLI FastCGI

hunge · 2007. Ápr. 19. (Cs), 16.12
Sziasztok!
Windowson próbálok összebarkácsolni egy parancssorból (CLI) meghívható HTML letöltő programot a legújabb PHP + curl -lel. A programot sikerült megcsinálnom. Letölti az anyagot majd kiirja a keresett részt (pregmatch) txt-be. A gond csakannyi hogy nagyon magas a proceszor igénye amikor meghívom a php scriptet akkor 2-3 másodpercre 40% - 70% megfogja 3GHZ pentium4 processzort. Ez semmikép se lehet normális ezért a processz monitort megnyitva a következőtvettem észre: a scriptem hívást követően a php.exe folyamata azonnal leáll/megszűnik/kiírásra kerül a memóriából és úgy is marad amíg nincs újabb hívás. Magyarán a php betöltésével és kiírására megyel a processzoridő nagyrésze. Ezért én azt szeretném hogy a php.exe folyamatosan fusson a háttérbe, mint egy szolgáltatás.

Ehhez ha jól értem FastCGImódban kellene futnia ugyanakkor semmi érdemi információt nem találtam arról hogy hogyan lehetne megoldani ha nem apache-val vagy IIS-selakarom használni a PHP-t hanem mint standalone parancsértelmezőt(CLI).

Van valami ötletetek? Minden gondolatot nagyon köszönök.
 
1

Ciklikus működés?

janoszen · 2007. Ápr. 19. (Cs), 23.21
Figy, mi lenne, ha a scriptedet írnád meg úgy, hogy ciklikusan végezze a feladatát? Nyilván többször kell feldolgozni adatokat, tedd be sorba és amikor megfelelő számú összegyűlt, szalajtsd neki a PHP-t. Adott esetben persze, lehet FastCGI-vel szívni meg akár daemont/servicet is írni neki, de kérdés, hogy megéri-e neked
2

Lehetséges megoldás

hunge · 2007. Ápr. 20. (P), 09.45
Igen úgy gondolom hogy ez működhet!

Vagyis ha nem többször hívom meg a php-sciptet hanem magában a scriptben helyezem el a ciklust akkor csak induláskor töltődik be a php.exe-t + szükkséges dll-ek majd memóriában fut a ciklus végéig.

Persze ez magávalvon némi plusz tömbkezelést de az jelent nem leküzdhetetlen problémát csak további munkát.
Köszönöm szépen a jó ötletet! Ha délutánig nemtalálok más megoldást akkor ezt fogom tenni.