問題一覧に戻る
上級バックグラウンドと通知
問題68: スケジュール処理 - whenever gem
cronジョブを書くためのRuby構文を提供するwhenever gemを使用して定期的なタスクをスケジュールする方法を学習します。日次レポート、データベースクリーンアップ、キャッシュの有効期限切れ、定期的なデータ同期などの自動化されたタスクを設定します。
# config/schedule.rb
# 毎日タスクを実行
1.day, at: '9:00 am' do
# Railsコードを実行
"DailyReportJob.perform_now"
end
# 毎時タスクを実行
every do
# rakeタスクを実行
"cache:clear"
end
# Custom interval
every 30.minutes do
runner "User.cleanup_inactive"
end