2014-04-22 2 views
0

언제든지 보석을 사용하여 cron 작업을 설정할 수 있습니까? created_at 날짜로부터 90 일마다 Notifications, Conversations 및 Receipts 테이블을 지우고 싶습니다.테이블 항목을 제거하는 작업을 예약하십시오.

나는 그것을 채우는 방법을 모르겠어요.

every 90.day, :at => '4:30 am' do end

답변

2

당신은 나쁜 측면에서 시작하고있다. 매일 작업 을 실행해야합니다. 작업은 90 일 넘은 모든 알림, 대화 및 수령을 삭제합니다.

class Notification 

    scope :old, -> { where(["created_at < ?", 90.days.ago]) } 

end 

# schedule.rb 
every 1.day do 
    runner "Notification.old.destroy" 
end 

그런 것.

+0

그건 의미가 있습니다. 'scope : old, -> {여기서 "created_at xps15z

+0

통지, 대화 및 수신 클래스 각각에이 범위를 추가하십시오. – Sebastian

+0

이 작동하려면 Capistrano가 필요하며 로컬에서 결과를 확인하기 위해 테스트하거나 어떻게 프로덕션에서만 작동합니까? –

관련 문제