2011-06-04 21 views
8

Incluso si ya rake activos: precompilados todos mis activos, todavía me parece que tengo un heroku difícil de obtener para almacenarlos en la memoria caché correctamente. Sigo recibiendo cosas comoRails 3.1 elementos de almacenamiento en memoria caché en heroku

2011-06-04T16:40:20+00:00 app[web.1]: cache: [GET /assets/application-516c0fa9926527ab92d849148e557ee6.css] stale, invalid, store 
2011-06-04T16:40:22+00:00 app[web.1]: cache: [GET /assets/logo-3a84e73bd76ca1ab9629d0a92eac7d4f.png] stale, invalid, store 

de mi log. Aunque parece que obtengo un HTTP 304 cuando inspecciono con Firebug. ¿Estoy haciendo algo mal?

Respuesta

1

Para alguien de aterrizar aquí, corriendo su propia nginx, así es como se hace:

location ~ "^\/assets\/[^.]+-[a-z0-9]{32}\." { expires max; } 

from @cgriego

Pero eso no nos ayuda en Heroku :-)

Por Por otra parte, después de analizarlo un poco, usaré un CDN. Luego configuraré mi aplicación con config.action_controller.asset_host.

¡Una vez más, Heroku hace que sea más fácil seguir con las mejores prácticas!

5

Este blog post tiene buenas respuestas y varias opciones. La publicación del blog no parece seria, pero esta es una lectura recomendada.

URL completa: http://jimmycuadra.com/posts/the-challenge-of-asset-packaging-on-heroku

Dejar caché de barniz y servir como contenido estático es brillante, sin necesidad de tareas rastrillo Precompilar.

ACTUALIZACIÓN 20mo de marzo de 2012

el mundo cambia rápidamente. la pila de cedros en heroku está hecha para esto. heroku create myapp --stack cedar Recuerde agregar esta línea de código en su application.rb para compilar en deploy.

config.assets.initialize_on_precompile = false 

/ACTUALIZACIÓN

+2

El barniz no se usa en la pila de cedros de Heroku. http://devcenter.heroku.com/articles/http-caching – Jared

+0

thx. respuesta actualizada para reflejar la pila de cedro – oma

3

También puede probar esta joya rieles ordenada llama AssetHat; Utiliza el almacenamiento en caché y es muy fácil de configurar.

+0

¿cómo funciona en heroku? ¿Dónde guarda los archivos en caché? – oma

Cuestiones relacionadas