Aquí podría ser tu PUBLICIDAD


MemCacheError: ejecución expirada

votos
0

Estoy usando la increíble gema de dinero en caché con un gran proyecto de rieles. Frecuentemente recibo estas excepciones

MemCache :: MemCacheError: ejecución expirada

No parece haber una rima ni una razón. ¿Qué significa exactamente esto y cómo solucionarlo?

EDITAR:

Aquí hay un rastro de pila representativo:

lib/authenticated_system.rb:100:in `login_from_session'
lib/authenticated_system.rb:12:in `current_user'
lib/authenticated_system.rb:6:in `logged_in?'
lib/authenticated_system.rb:35:in `authorized?'
lib/authenticated_system.rb:53:in `login_required'

La línea en cuestión es de RESTful_Authentication:

self.current_user = User.find(session[:user_id]) if session[:user_id]
Publicado el 12/03/2009 a las 16:34
fuente por usuario Matt Darby
En otros idiomas...        العربية       

2 respuestas

votos
1

Creo que Michael Simons respondió mi pregunta a través de su publicación en el blog . En esencia, este es un problema conocido que existe entre Passenger y Memcached.

Aquí estaba la solución de Michael:

# environment.rb
begin
   PhusionPassenger.on_event(:starting_worker_process) do |forked|
     if forked
       # We're in smart spawning mode, so...
       # Close duplicated memcached connections - they will open themselves
       CACHE.reset
     end
   end
# In case you're not running under Passenger (i.e. devmode with mongrel)
rescue NameError => error
end
Respondida el 25/03/2009 a las 06:33
fuente por usuario Matt Darby


Aquí podría ser tu PUBLICIDAD


votos
0

He escuchado a través de sus compañeros de equipo que el cliente Memcache predeterminado de Rails no intenta reconectarse automáticamente con el daemon de Memcache si por algún motivo se detiene y se reinicia, aunque yo mismo no lo he confirmado. La biblioteca fgetuns memcache-client corrige este problema.

Respondida el 14/03/2009 a las 07:59
fuente por usuario Brian Guthrie