我在亚马逊的Elastic Beanstalk上托管了一个Rails应用程序。我想使用Where-gem来安排任务,但Where-gam文档和本Railscast都提到了与Capistrano的集成。我没有使用Capistrano来管理我的服务器,所以我不确定它是否扰乱了我的服务器现在的运行方式,如果我安装它只是为了使用Where。
也许另一种问我问题的方式是,在Capistrano的deploy.rb文件中包含这个命令有什么作用?如果我不使用Capistrano:,是否有替代方法可以做到这一点
set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
我在Everythe-gem Google Group中读到了这个线程,我发现你可以在没有Capistrano的情况下使用Where,但这意味着你需要手动触发Crontab,而不是Capistranno触发更改。为此,请在服务器上使用以下命令:
whenever -i
根据文档,不,您不必使用Capistrano。
每当Capistrano执行以下操作时,就会注册几个钩子,以便在部署期间运行每当任务
Capistrano::Configuration.instance(:must_exist).load do
# Write the new cron jobs near the end.
before "deploy:finalize_update", "whenever:update_crontab"
# If anything goes wrong, undo.
after "deploy:rollback", "whenever:update_crontab"
end