¿Por qué Nginx+Unicorn devolvería 504 Tiempo de espera en la excepción (en lugar de Stack Trace)?

StackOverflow https://stackoverflow.com/questions/8389853

Pregunta

En ciertos escenarios, cuando hay un error en el código (generalmente una variable mal nombrada en parcial, pero también podría ser algo más), obtengo un tiempo de espera de 504 de Nginx en lugar de rastreo de pila esperado (en desarrollo ambiente).

También parece que las especificaciones se detienen en los mismos errores (en lugar de informar instantáneamente "falló").

Sería útil cualquier idea sobre lo que debo considerar o lo que podría estar mal con mi configuración.

Estoy usando Ruby on Rails 3.1.

¿Fue útil?

Solución

¿Está utilizando algún tipo de captura de excepción o notificación de excepción? Podría estar en su código, en una biblioteca a la que hace referencia o en una gema a la que hace referencia.

Si lo está, desactívelo (coméntese, etc.) y vea lo que obtiene.

Si estás corriendo en production, cambiar a development si puedes.


Muchas personas desaprueban este método de resolución de problemas, pero una de las otras cosas que a veces hago es acompañar mi código con líneas que agregan un archivo de estado (en el formato <DATE> <TIME> - <MESSAGE>. Al ver lo que se escribe en el archivo después de cada solicitud, puedo encontrar dónde está el problema.

Podrías hacer algo esto:

def debug(filename, message)
  File.open(filename, 'a') {|f| f.write("#{Time.now} - #{message}") }
end

Vocación debug('/tmp/log.txt','Test Message') mostraría algo como esto:

2011-12-29 23:31:51 -0500 - Test Message
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top