2010-12-13 14 views
5

Estoy tratando de usar la gema whenever en mi aplicación, pero no puedo ejecutar el comando de rake en schedule.rb.Problema al utilizar gema

error que está vomitando es

/bin/bash: rake: command not found 

También estoy usando bundler por lo que todas mis joyas se congelan en la aplicación.

Respuesta

4

¿El rastrillo está en algún lugar atípico, como/usr/local/bin? Intente agregar esto a schedule.rb:

env :PATH, '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' 
0

Pruebe usar 'comando' en lugar de rastrillar. Mi rake está en/usr/local/bin y no puedo encontrar la manera de hacerlo funcionar. Así que aquí está un ejemplo de un comando en lugar de schedule.rb:

every 5.minutes do 
    command "cd " + `pwd`.chomp + " && RAILS_ENV=#{environment} /usr/local/bin/rake rakefile:rakemethod" 
end 

Nota también hay que pasar en el ambiente en este ejemplo. Creo que simplemente lo haces con 'siempre que -update_crontab --set environment = beta' cuando llamas a schedule.rb.

Tengo capistrano hacerlo utilizando las recetas de capistrano en la gema siempre (ver lib directorios debajo de la fuente siempre). Tengo que establecer ever_environment en mi script de implementación capistrano.

cada vez que podría por defecto a la producción, así que me gustaría jugar con él y ver. En otras palabras, es posible que no necesite RAILS_ENV = # {environment} si solo está haciendo esto en producción. Tengo varios entornos de ensayo, así que paso por el entorno para ayudar a la secuencia de comandos.

¡Si tan solo pudiera especificar un directorio de rake diferente para que funcione con/usr/local/bin/rake! Alguien ayuda en ese frente?

Cuestiones relacionadas