我可以在没有Capistrano的情况下使用Rails Anytime gem吗



我在亚马逊的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

最新更新