javan-quando non si scrive crontab con Capistrano deploy
-
06-07-2019 - |
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.
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.