我有一个我在亚马逊的Elastic Beanstalk上托管的Rails应用程序。我想使用Whenever gem来安排任务,但Whenever gem文档和this Railscast都提到了与Capistrano的集成。我没有使用Capistrano来管理我的服务器,所以我不确定它是否会弄乱我的服务器现在如何操作,如果我只是为了使用Whenever而安装它。
也许另一种问我问题的方法是在Capistrano的deploy.rb文件中包含这个命令是做什么的,如果我不使用Capistrano就可以替代这样做:
set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
答案 0 :(得分:8)
我读了这个thread in the Whenever gem Google Group,我发现你可以在没有Capistrano的情况下使用Whenever,但这意味着你需要手动触发Crontab而不是Capistrano触发更改。为此,请在您的服务器上使用此命令:
whenever -i
答案 1 :(得分:0)
根据文档,不,您不必使用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