javan-всякий раз, когда не пишется crontab с развертыванием Capistrano

StackOverflow https://stackoverflow.com/questions/1008530

Вопрос

Я пытался получить его при каждом запуске экземпляра ec2, созданного с помощью ec2 на рельсах.

Когда я выполняю развертывание с Capistrano, это указывает, что crontab был написан, но когда я захожу на сервер и запускаю crontab -l, он, похоже, не изменился.

Если я захожу в папку выпуска и вручную запускаю всякий раз, когда --write-crontab, то запускаю crontab -l - он обновляется должным образом.

Есть идеи, что может быть причиной этого?

Capistrano не указывает на какие-либо ошибки, поэтому не уверен, как отлаживать, перепробовал миллиард перестановок и комбинаций, и ничего не изменилось.

Это было полезно?

Решение 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

Или, по-видимому, также есть опция -user, когда это может помочь.

Другие советы

у вас должна быть возможность просто потребовать команду всякий раз, когда capistrano в вашем файле развертывания cap, примерно так:

требовать 'всякий раз, когда / capistrano'

если вы используете упаковщик, вам также нужно добавить это:

set: each_command, 'bundle exec всякий раз'

Это не относится к OP, но в соответствии с этой проблемой , Capistrano 2.11. Для устранения проблемы требуется 0,7,3.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top