관찰자는 작성, 업데이트 및 삭제 작업을하는 이유는 레일스에서 어떤 작업을 시작하기위한 트리거가 필요하기 때문입니다. 일반적으로 이것은 사용자의 http 요청입니다.
시간 기준으로 작업을 트리거하려면 rake
작업을 작성하거나 rails/runner
을 사용하여 일부 모델 방법을 실행할 수 있습니다.
그런 다음 cron으로 태스크 또는 스크립트를 실행하십시오.
whenever
과 같은 보석을 사용하여 cron 작업을 처리 할 수 있습니다. 또한 루비를 레일에서 돌릴 수있는 환경을 설정하는 데 도움이됩니다.
대신
10 0 * * * /bin/bash -l -c 'cd /home/user/rail-app/releases/20130522173433 && RAILS_ENV=production bundle exec rake my_rake_task --silent'
의 그것은 모든 X 분을 실행 그들에 만료 된 기록과 행위를 확인하는 백그라운드 작업을 만들기
every :day, at: '0:10am' do
rake 'my_rake_task'
end
에 구성을 단순화합니다. [Resque] (https://github.com/defunkt/resque), [Sidekiq] (http://mperham.github.io/sidekiq/) 및 기타 참조. –