Pergunta

Eu tenho tentado fazer sempre que executar em uma instância do EC2 criada com o EC2 no Rails.

Quando implanto com o Capistrano, indica que o Crontab foi escrito, mas quando eu faço login no servidor e execute o crontab -l, ele não parece ter sido alterado.

Se eu entrar na pasta de liberação e executar manualmente quando - -Write -Crontab, execute o Crontab -l -ele será atualizado corretamente.

Alguma ideia sobre o que poderia estar causando isso?

O Capistrano não está indicando erros, portanto, não tenho certeza de como depurar, tentaram um bilhão de permutações e combinações e nada muda.

Foi útil?

Solução 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

Ou também há uma opção -usuário sempre que isso pode ajudar com isso.

Outras dicas

Você poderá exigir apenas o comando Capistrano em seu arquivo de implantação do CAP como assim:

exigir 'sempre que/capistrano'

Se você estiver usando o Bundler, você precisará adicionar isso também:

Conjunto: sempre que_command, 'pacote executivo sempre que'

Isso não está relacionado ao OP, mas de acordo com isso questão, Capistrano 2.11.1 precisa sempre que 0.7.3 para corrigir o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top