DevNullStorage vytváří cache soubory?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Pavel Janda
Člen | 977
+
0
-

Zdravím,

rád bych se zeptal, zda je správně, když při této konfiguraci:

services:
	cacheStorage:
		class: Nette\Caching\Storages\DevNullStorage

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
+
0
-

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

Pavel Janda
Člen | 977
+
0
-

Díky za odpověď.

David Grudl
Nette Core | 8172
+
0
-

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
+
0
-

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 | 8172
+
0
-

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
+
+1
-

Sem tam se bohužel stává, že Nette cache neinvaliduje. Začnu tedy trackovat konkrétní případy a reportovat. :)

CZechBoY
Člen | 3608
+
+1
-

Ještě se mi zdá, že se cache neinvaliduje, když se změní anotace v některým skriptu. Akorát nevim v jakým use-casu :(
Celkem často se mi stává, že když checkoutuju mezi větvema na gitu tak musim smazat obsah temp/cache.

David Grudl
Nette Core | 8172
+
0
-

Je potřeba vychytat tu situaci. Cache jsem nemusel ručně mazat roky.

Pavel Janda
Člen | 977
+
0
-

Hlásím první chybku invalidace latte cache:

V configu bylo nejprve toto:

latte:
		macros:
			- Nekde\Utils\Macros

Po pár týdnech se třída přesunula do jiného namespacu:

latte:
		macros:
			- Jinde\Utils\Macros

Tracy hlásí, že nezná (již neexistující) třídu Nekde\Utils\Macros. Po smazání cache vše OK.