2012-04-17 3 views
0

최근 나는 어떤 보석
http://www.ameravant.com/posts/recurring-tasks-in-ruby-on-rails-using-runner-and-cron-jobs레일-3 cron 작업은

내가 /app/delete_old_posts.rb에서 하나 개의 파일을 생성을 사용하지 않고 cron 작업을 실행하는 다음 자습서를 건너 왔어요 주자

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 작업의 콘솔에서 나는

*/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   

크론 J를 썼다 2 분마다 실행되는 ob이 작동하지 않습니다.
도와주세요.
감사합니다.

+0

에 그 실제 crontab 명령이 있다면 당신은'/'전'home' 누락있는 것처럼, 그것은 보인다. – bhamby

+0

답장을 보내 주셔서 감사합니다. 죄송합니다. 이미/집에있는 명령을 편집 해 죄송합니다. 아직 작동하지 않습니다. –

답변

0

"언제든지"보석을 사용해보십시오. 레일 러너, 레이크 또는 기타 사용자 정의 래퍼를 지정할 수있는 루비에서 cronjob을 정의 할 수 있으며 crontab 작성을 처리합니다. 인생을 훨씬 단순하게 만듭니다.

그냥 추가 : gem 'whenever', :require => false 당신의 gemfile

https://github.com/javan/whenever

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

+0

답변을 주셔서 감사합니다.하지만 설치를 시도하고 언제든지 실행했을 때이 오류가 발생했습니다. 명령 오류가 있습니다 everyize : 명령을 찾을 수 없습니다 그래서, 젬을 사용하지 않고이 작업을 도와 줄 수 있습니까? –

+1

번들 exec로 실행 했습니까? – cpuguy83

+0

번들 exec로 실행 해 주셔서 감사합니다. –