On Mon, 24 Jan 2011 09:46:12 +0100, Fabien Potencier <[email protected]> wrote: > On 1/23/11 3:04 PM, Benjamin Eberlei wrote: >> If "auto_prime_caches: false" we should add an console option to the >> still >> to be written "clear cache" command, so that you can call "./app/console >> cache:clear --prime-caches" and it would do the same magic as if >> "container.dumped" was listened too. >> >> This way you can decide for high load environments if you want to prime >> the caches before taking the webserver live again or if you don't care >> because the amount of visitors on your page won't produce a cache slam on >> the first regeneration of the container. > > I have a first working implementation. I have used the word "warmer" > instead of "primer", but the idea is exactly the same. Also, I have not > used an event here, but proper objects. > > Here is a lost of possible cache warmers: > > * Generation of routing matcher and dumper classes > * Generation of aggregated translation files > * Pre-compilation of Twig templates > * Computation of Twig templates paths > * Generation of Doctrine DQL to SQL cache > * Generation of Doctrine proxy classes > * Minification of assets > * ... > > That's a lot and anyone can add more. It can take quite some time to run
> (imagine a large application with many Doctrine entities, many Twig > templates, and lots of translation files). > > So, I'm wondering if doing all this on the very first request in the > production environment is really a good idea. > > If we have a closer look, all warmers are optional, except perhaps the > Doctrine proxies generation. So, do we make a difference between > mandatory and optional warmers? If we don't compile the Twig templates > for instance, the cache will be generated on-demand, which is not a big > deal. > > So, what about defining three values for the "cache-warmer" option: > > * "false": disable the feature (use the cache:warmup command to warm up > the cache); > * "true": enable and run all warmers on the very first request; > * "min": enable and only run the mandatory warmers on the very first > request (the reset of the cache will be generated on-demand). > > What do you think? > > Fabien > >> Any comments? >> >> greetings, >> Benjamin >> It will take some time to generate the full cache, so the differentiation between "must" and "can" is probably useful to avoid cache slams and file corruptions. -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en
