2012-09-20 17 views
10

¿Cómo puedo depurar un trabajo de resque en la aplicación de rieles? Solo quiero escribir información en un archivo de registro desde la función self.perform. He escrito este sistemaCómo depurar el trabajo de resque en la aplicación de rieles

("eco sos >> /home/maruf/Desktop/log.txt")

en self.perform(). Pero nada pasó. ¿Cuál es la forma correcta?

Respuesta

22

¿Por qué no utilizar la instalación Logger?

log = Logger.new 'log/resque.log' 
log.debug "foo bar" 

Y luego tail -f su registro recién generado en "#{Rails.root}/log/resque.log'. ¡Recuerde reiniciar sus trabajadores resque ya que almacenan en caché el código y no detectarán cambios como el resto de su entorno de desarrollo!

+1

También probé esto antes, pero experimenta algunos otros problemas. Otro enfoque se puede encontrar en la publicación del blog http://www.jademind.com/blog/posts/enable-immediate-log-messages-of-resque-workers que muestra cómo iniciar sesión instantáneamente en un archivo de registro separado. – anka

+1

+1 para el problema de caché. –

0

Rails.logger debería funcionar bien:

Rails.logger.debug('foo bar') 
Cuestiones relacionadas