2010-05-15 33 views
5

Estoy trabajando con web2py y por alguna razón, web2py parece no darse cuenta cuando el código ha cambiado en ciertos casos. Realmente no puedo reducirlo, pero de vez en cuando los cambios en el código no se reflejan, web2py obviamente tiene la versión anterior en algún lugar.¿Prevenir web2py desde el almacenamiento en caché?

Lo único que ayuda es salir de web2py y reiniciarlo (estoy usando el servidor interno).

¿Alguna pista? Gracias !

Respuesta

0

web2pyweb2py no debe "cachear" su código, pero cualquier servidor de aplicaciones en el que lo esté utilizando seguramente podría. Pero web2py se puede implementar en una variedad tan grande de servidores de aplicaciones que es imposible dar sugerencias completamente generales.

Si está utilizando el popular servidor de cherrypy WSGI que creo que viene incluido con web2py, por ejemplo, ver, en los propios documentos de CherryPy, la característica AutoReload. Tales características se no recomiendan en una implementación de producción (que pueden requerir recursos muy importantes), pero seguro que son muy útiles cuando estás desarrollando -)

+0

Hmm, así que estoy usando el servidor cherrypy que viene con web2py. Como parece bastante relacionado con web2py, parece que no puedo encontrar el archivo de configuración correcto. De todos modos, por lo que entiendo, parece bastante doloroso solo hacer que el servidor use el archivo actualizado. Quiero decir, si ejecuto scripts simples en python en un lighttpd sin web2py, nunca tengo que hacer algo como eso :( – Joe

+0

@Joe, si ejecuta CGI, por definición, el script se leerá nuevamente desde el disco cada vez y deberá hacer todos los su inicialización una vez más: esa es una buena parte de lo que hace que CGI sea tan lento. Si desea codificar web2py y desplegarlo como CGI, siga adelante: web2py viene con un adaptador CGI, 'cgihandler.py' - vea toda la implementación recetas en http://web2py.com/book/default/section/11/0 (se dice erróneamente que modpythonhandler es el adaptador para CGI y cgihandler para modpython, pero obviamente es al revés ;-). –

5

web2py hace caché de su código, excepto para Google App Engine (por velocidad). Ese no es el problema. Si edita código en modelos, vistas o controladores, verá el efecto de inmediato.

El problema pueden ser los módulos; si edita código en módulos, no verá el efecto inmediatamente, a menos que los importe con local_import('module', reload=True), o al reiniciar web2py.

Si ese no es su problema, su navegador está almacenando en caché algo. Haga que aparezca esta pregunta en la lista de correo web2py ya que podemos ayudarlo más.

P.S. Si está utilizando el último web2py, ya no viene con cherrypy. El servidor web incorporado se llama Rocket.

+0

Gracias por su respuesta, la loca_import hizo el truco :) – Joe

Cuestiones relacionadas