Čeká nette svůj předchozí proces – session lock?
- neznamy_uzivatel
- Člen | 115
iguana007 napsal(a):
Neni mozne, ze ti tam treba v jinem tabu bezel jiny request?
Pokud ano, tak by to byl ten duvod. Kdyz si totiz spustis jeden request, tak ten nasledujici treba v jinem tabu ceka, az se dokonci ten puvodni nez se zacne vubec zpracovavat.
Citace pochází z: https://forum.nette.org/…ani-aplikace
Ahoj,
chci se zeptat na výše uvedenou citaci. Je to pravda?
U mě je to viditelné při invalidování něčeho v cache. Běží-li cron,
který asi 30s aktualizuje cache, je celá aplikace celou tu půlminutu mimo
provoz.
Vytváří-li php/nette výstup pro jednoho uživatele, spuštění generování výstupu pro druhého návštěvníka čeká na kompletní dokončení výstupu pro uživatele č. 1?
Je-li na webu 10 lidí a vygenerování stránky trvá 300 ms, pak pokud všichni současně udělají refresh, tak ten, který bude poslední bude čekat na dokončení všech ostatních po jednom?
Předpokládám, že to dělají session, jak už jsem se tady dočetl.
Zajímalo by mě, z jakého důvodu tohle omezení existuje? Každý uživatel
má přeci svou session, tam k ničemu „špatnému“ dojít nemůže.
Lze to nějak obejít?
Díky za objasnění :)
Editoval neznamy_uzivatel (22. 10. 2016 22:21)
- CZechBoY
- Člen | 3608
No session storage ti to zamkne jen pro konkrétní session – tzn. jeden
uživatel bude čekat jen sám na sebe.
Samozřejmě pokud zamkneš nějakou sdílenou cache, kterou používáš na
každé (nebo té pomalé) stránce, tak se samozřejmě zamkne provádění
skriptu pro všechny uživatele, kteří v ten daný čas chtějí něco
načíst z cache.
- neznamy_uzivatel
- Člen | 115
Bohužel, nečeká jen sám na sebe, ale na všechny..
Teď jsem to zkoušel ze tří samostatných zařízení a při sleep(10) ten poslední čeká nejméně 30 sec.