DevNullStorage vytváří cache soubory?
- Pavel Janda
- Člen | 977
Zdravím,
rád bych se zeptal, zda je správně, když při této konfiguraci:
nette vytváří soubory v adresářích temp/cache/_Nette.RobotLoader a temp/cache/Nette.Configurator? Už se mi párkrát stalo, že jsem i při nastavení DevNullStorage musel promazat temp/cache, aby se změny projevily.
Děkuji za odpověď.
- David Matějka
- Moderator | 6445
ano, robot loader i DI ignoruji toto nastaveni. jelikoz k vytvareni cache robot loaderu dochazi pred zpracovanim toho nastaveni. A DIC pouziva vlastni cachovaci mechanismus
robot loaderu muzes cache nastavit
- David Grudl
- Nette Core | 8257
Latte taky používá kešování do souborů nezávisle na cacheStorage,
takže se to využívá asi jen pro NDBT a makro {cache}
- Pavel Janda
- Člen | 977
Taky pro cachování samotné aplikace.
Latte má ale konfugurační direktivu, která též umožňuje cachování vypnout.
A je to žádoucí chování? Uvedu příklad: Na projektu dělá víc lidí a zdaleka ne každý musí nutně vědět, že musí po každém git-pull promazat cache. Typicky frontenďáci, projecťáci (překlepy apod), … Pak je podle mého názoru vhodné vypnout cache úplně například v testovacím režimu. Nebo v „dev“ modu obecně.
Nebo by bylo Nette při každém requestu příliš pomalé?
Editoval Pavel Janda (13. 11. 2015 14:04)
- David Grudl
- Nette Core | 8257
Ve vývojářském režimu by mělo Nette invalidovat cache samo, inteligentně. Vypínat ji není potřeba. Vymazat se musí kvůli NDBT jen když se změní struktura tabulky.
- Pavel Janda
- Člen | 977
Sem tam se bohužel stává, že Nette cache neinvaliduje. Začnu tedy trackovat konkrétní případy a reportovat. :)
- Pavel Janda
- Člen | 977
Hlásím první chybku invalidace latte cache:
V configu bylo nejprve toto:
Po pár týdnech se třída přesunula do jiného namespacu:
Tracy hlásí, že nezná (již neexistující) třídu
Nekde\Utils\Macros
. Po smazání cache vše OK.