0

最近我遇到了以下不使用任何 Gem 运行 cron 作业的教程
http://www.ameravant.com/posts/recurring-tasks-in-ruby-on-rails-using-runner-and-cron-jobs

我在 /app/delete_old_posts.rb 中创建一个文件

  class DeleteOldPosts < ActiveRecord::Base          
    # This script deletes all posts that are over 5 minutes old          
     post_ids = Post.find(:all, :conditions => ["created_at < ?", 5.minutes.ago])          
     if post_ids.size > 0     
      Post.destroy(post_ids)     
      puts "#{post_ids.size} posts have been deleted!"       
     end       

然后通过给出 crontab -e 命令并在我写的 cronjob 控制台中创建 cron 作业

*/2 * * * * /usr/bin/env ruby /home/abc/xyz/urjit.rajgor/workspace/thewall/rails/runner/home/XYZ/ABC/urjit.rajgor/workspace/thewall/app/delete_old_posts.rb          

cron 作业每两分钟运行一次,但它不起作用
请帮助我。
谢谢

4

1 回答 1

0

尝试使用“无论何时”宝石。允许您在 ruby​​ 中定义您的 cronjobs,能够指定 rails runner、rake 或其他自定义包装器,它会为您处理编写 crontab。让生活变得更简单。

只需添加:gem 'whenever', :require => false到您的 gemfile

https://github.com/javan/无论何时

http://railscasts.com/episodes/164-cron-in-ruby

于 2012-04-17T16:35:41.867 回答