rails でcronを管理して定期実行する方法
まずgemをインストール
$ gem 'whenever', require: false
$ bundle install
バンドルできたら設定ファイルの作成をします
$ bundle exec wheneverize .
config > schedule.rb
# Rails.root「railsメソッド」を使用するのに必要
require File.expand_path(File.dirname(__FILE__) + "/environment")
# cronを実行する環境変数(:development, :product, :test)
rails_env = ENV['RAILS_ENV'] || :development
# cronを実行する環境変数をセットする
set :environment, rails_env
#1時間ごとに実行
every :hour do
rake 'article_state_check:article_state'
end
エラーの確認
$ bundle exec whenever
設定されてるcronの確認
$ crontab -l