Как определить и запустить задачу capistrano 3 после развертывания?

У меня есть сценарий capistrano, который работает отлично, за исключением того, что после развертывания он не запускает задачу. Я использую rails_daemons для запуска приложения rails, и мне нужно перезапустить демоны.

#deploy.rb

namespace :deploy do
  on roles :all do
    execute :bundle, "exec rake daemons:restart"
  end
end

Пробовал и это:

task :restart_daemons, :roles => :app do
  execute :bundle, "exec rake daemons:restart"
end

after "deploy", "deploy:restart_daemons" 

person Jorge de los Santos    schedule 01.07.2015    source источник


Ответы (1)


Прежде всего, вы проверили, работает ли bundle exec rake daemons:restart локально? Если это так, попробуйте что-то вроде этого:

namespace :deploy do

  after :restart do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      within release_path do
         execute :rake, 'daemons:restart'
      end
    end
  end

end
person davids    schedule 01.07.2015
comment
Получил это как ошибку: ArgumentError: wrong number of arguments (1 for 2+) - person Jorge de los Santos; 01.07.2015
comment
@JorgedelosSantos, поэтому проблема должна быть в определении задачи, а не в вашей конфигурации капистрано. - person davids; 01.07.2015