nefunkční robot loader
- kamil
- Člen | 14
Dobrý den,
mám následující problém:
Mám presenter, který mi generuje CSV a XLS soubory pro flashové grafy, co
vkládám do stránky. Pokud do obyčejného prezenteru, jež tvoří jeden
z layoutů, vložím více jak jeden graf, tak si všechny grafy řeknou nette
o XML soubor s nastavením a CSV soubor s daty. Na framework tím jde více
požadavků zároveň a rozdrbe se tím soubor generovaný robot loaderem a
každá další generovaná stránka nemůže najít žádnou třídu. Tato
chyba se chová naprosto nedeterministicky, tj. nastane jen při usilovném
refreshování a vždy náhodně. Nejhorší je, že i pokud obyčejný
presenter, kde není prakticky nic, jen vykresluje jednu šablonu, zahltím
požadavky tak si robot loader rozdrbe ten soubor co si generuje a už FW už
nemůže najít žádnou třídu.
Setkali jste se někdo s podobným chováním? Používám Nette 0.9.3 a PHP
5.2, na Apachovi na Windows.
Editoval kamil (22. 2. 2010 15:16)
- Mikulas Dite
- Člen | 756
S tím by Nette nemělo mít problém. Na co bych se zaměřil je logika aplikace – data bych generoval při změně a cachoval, jednak se tím mnohonásobně zvýší rychlost a druhak se zbavíš problému s loaderem.
- kamil
- Člen | 14
Dobře, ale pokud mi to dělá i při jednoduchém presenteru tak bude problém někde jinde ne? Používám defaultní cashování v nette, předpokládám, že by to nějak mělo fungovat ne? Data pro grafy musím vždy načítat znova a šablony jsou generované dynamicky podle typu grafu a dalších věcí..
- Mikulas Dite
- Člen | 756
Á, už čtu. Ale jak sem psal, násobnej request by mělo Nette zvládat, takže problém může být asi jenom na lokálním apache, nemáš omezený počet požadavků tam?
- kamil
- Člen | 14
cache se při každém požadavku negeneruje. Pokud ji vymažu, tak první načtení trochu trvá, právě kvůli tomu, že se cache robotloaderu generuje. Potom ale vše běží svižně, pokud ho ale zahltím neustálým refreshem tak se nakonec ta cache rozdrbe a skončí to tím, že nenačte žádnou classu (první při načítání je dibi, takže ho nenajde) a ten soubor cache je prakticky prázdný, takže nějakým způsobem se robot loaderu podaří zahodit všechny cesty a odmítá je vygenerovat znova.
Editoval kamil (22. 2. 2010 15:14)