Domanda

Ho cercato di ottenere ogni volta che eseguivo un'istanza ec2 creata con ec2 su rotaie.

Quando eseguo la distribuzione con Capistrano indica che il crontab è stato scritto, ma quando accedo al server ed eseguo crontab -l non sembra essere stato modificato.

Se vado nella cartella di rilascio ed eseguo manualmente ogni volta che --write-crontab quindi eseguo crontab -l - viene aggiornato correttamente.

Qualche idea su cosa potrebbe causare questo?

Capistrano non indica alcun errore, quindi non sono sicuro di come eseguire il debug, ho provato un miliardo di permutazioni e combinazioni e nulla cambia.

È stato utile?

Soluzione 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 apparentemente c'è anche un'opzione -user ogni volta che ciò può aiutare in questo.

Altri suggerimenti

dovresti essere in grado di richiedere semplicemente il comando capistrano nel file di distribuzione cap in questo modo:

richiedi 'ogni volta che / capistrano'

se stai usando il bundler, dovrai aggiungere anche questo:

set :enever_command, 'bundle exec every'

Questo non è correlato all'OP, ma secondo questo problema , Capistrano 2.11. 1 serve ogni volta che 0.7.3 per risolvere il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top