每当CRON选项卡无法在Amazon EC2上运行时

时间:2013-09-30 12:44:02

标签: ruby-on-rails ruby amazon-ec2 cron whenever

我正在尝试使用 Whenever gem在Amazon EC2上设置CRON作业。 在schedule.rb中有以下内容:

 set :output, "/home/my_deploy_name/my_deploy_name/current/log/cron_log.log"

 every 2.minutes do
   puts "It's working !!!"
 end

并在deploy.rb这个:

...
set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
after 'deploy:create_symlink', 'whenever:update_crontab'
after 'deploy:rollback', 'whenever:update_crontab'

当我将此代码部署到EC2并检查crontab -l时,输出为:

no crontab for ubuntu

当我运行crontab -e时,不会编辑该文件。

这里有什么问题? CRON工作每2分钟没有在EC2上运行什么?

1 个答案:

答案 0 :(得分:0)

尝试的一些选项:

1)登录服务器并运行:

bundle exec whenever --update-crontab

并检查你的crontab。

2)您无需设置beforeafter回调。 capistrano食谱为你做到了:

https://github.com/javan/whenever/blob/master/lib/whenever/capistrano.rb

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