帮助Ruby中的“Whenever”gem用于cron任务

时间:2010-10-13 21:25:22

标签: ruby cron whenever

我之前没有使用过cron,所以我无法确定我做得对。我想要自动化的任务似乎没有运行。我在终端上做了这些步骤:

  1. sudo gem install
  2. 切换到应用程序目录
  3. 。 (这创建了文件schedule.rb)
  4. 我将此代码添加到schedule.rb:

    every 10.minutes do
      runner "User.vote", environment => "development"
    end
    
    
    every :hour do
      runner "Digest.rss", :environment => "development"
    end
    
  5. 我将此代码添加到deploy.rb:

    after "deploy:symlink", "deploy:update_crontab"
    
    
    namespace :deploy do
      desc "Update the crontab file"
      task :update_crontab, :roles => :db do
        run "cd #{current_path} && whenever --update-crontab #{application}"
      end
    end
    
  6. 我在终端做了这个:每当

  7. 它返回了:

    @hourly cd /Users/RedApple/S && script/runner -e development 'Digest.rss'
    
    
    0,10,20,30,40,50 * * * * cd /Users/RedApple/S && script/runner -e development 'User.vote'
    
  8. 在终端中单独运行这些命令:

    script/runner -e development 'Digest.rss'
    script/runner -e development 'User.vote'
    
  9. 现在在开发模式脚本/服务器上运行本地服务器,我没有看到任何证据表明代码实际上正在运行。我有没有做过一些步骤?没有“每当”的指南显示我所做的其他事情。

1 个答案:

答案 0 :(得分:11)

我也是新手,但我认为只是运行

whenever

只显示创建的cron作业的样子。为了实际编写cron作业(使其处于活动状态),您需要执行:

whenever -w

这将为您提供完整的选项列表:

whenever -h