0

最近、Gems http://www.ameravant.com/posts/recurring-tasks-in-ruby-on-rails-using-runner-and-cron-jobsを使用せずにcronジョブを実行する次のチュートリアルに出くわしました

/app/delete_old_posts.rb に 1 つのファイルを作成します

  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 コマンドを指定して cron ジョブを作成し、私が書いた cronjob のコンソールで

*/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 ジョブは 2 分ごとに実行されますが、機能しませんでし
た。助けてください。
ありがとう

4

1 に答える 1

0

「いつでも」宝石を使ってみてください。Railsランナー、レーキ、またはその他のカスタムラッパーを指定できるrubyでcronジョブを定義でき、crontabの書き込みを処理します。生活がずっと簡単になります。

gem 'whenever', :require => falsegemfileに:を追加するだけです

https://github.com/javan/whenever

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

于 2012-04-17T16:35:41.867 に答える