Pregunta

He estado tratando de obtener cada vez que se ejecuta en una instancia ec2 que se creó con ec2 en rieles.

Cuando despliegue con Capistrano indica que el crontab fue escrito, pero cuando inicio sesión en el servidor y ejecuto crontab -l no parece haber cambiado.

Si entro en la carpeta de lanzamiento y ejecuto manualmente cada vez que --write-crontab luego ejecuto crontab -l - se actualiza correctamente.

¿Alguna idea de lo que podría estar causando esto?

Capistrano no indica ningún error, así que no estoy seguro de cómo depurar, he intentado mil millones de permutaciones y combinaciones y nada cambia.

¿Fue útil?

Solución 2

namespace :deploy do
  desc "write the crontab file"
  task :write_crontab, :roles => [:db_admin] do  
    run "cd #{release_path} && sudo -u root  whenever --write-crontab #{application}"
  end  
end

O aparentemente también hay una opción -user en cuando eso puede ayudar con esto.

Otros consejos

debería poder solicitar el comando capistrano siempre que esté en su archivo de implementación de cap de esta manera:

requiere 'when / capistrano'

si está utilizando un paquete, necesitará agregar esto también:

set: when_command, 'bundle exec when'

Esto no está relacionado con OP, pero de acuerdo con este problema , Capistrano 2.11. 1 necesita Whenever 0.7.3 para solucionar el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top