Wheneverでcrontabを管理する
railsでバッチ処理を作るにあたって、
crontabはwheneverというライブラリで管理する。
$ vim Gemfile $ tail -2 Gemfile gem 'whenever', :require => false $ bundle install $ wheneverize . -bash: wheneverize: command not found $ bundle wheneverize exec . Could not find task "wheneverize". $ bundle show whenever /Users/takasing/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/whenever-0.8.4 $ /Users/takasing/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/whenever-0.8.4/bin/wheneverize . [add] writing './config/schedule.rb' [done] wheneverized! $ ls -l config | grep schedule -rw-r--r-- 1 takasing staff 483 Oct 11 22:09 schedule.rb $ cat config/schedule.rb set :output, "log/cron.log" set :environment, :development every 3.minute do runner "Tasks::Scraping.execute" end $ bundle exec whenever 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /bin/bash -l -c 'cd /Users/takasing/exercise/rails-practice && bin/rails runner -e development '\''Tasks::Scraping.execute'\'' >> /Users/takasing/exercise/rails-practice/log/cron.log 2>&1' ## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated. ## [message] Run `whenever --help' for more options. $ bundle exec whenever --update-crontab