Ruby onRails セッションをDBで管理
rake db:sessons:create
rake db:migrate
config/environment.rb
config.action_controller.session_store = :active_record_store
定期的にセッションを消す為のrakeタスクをつくる
require 'tempfile'
namespace :my_task do
task :app_environment => :environment do
require "#{RAILS_ROOT}/app/controllers/application.rb"
end
##########################################
# my tasks
##########################################
desc "delete old sessions"
task :delete_old_sessions => :app_environment do
ActiveRecord::Base.connection.execute "DELETE FROM sessions WHERE updated_at < now() - interval 1 day"
endend
cronにこのレイクタスクを追加して終わり