PERF: run full vacuum every 90 days (during migration)

Will reclaim space and improve perf
This commit is contained in:
Sam
2014-08-07 11:07:30 +10:00
parent 44d45c6eda
commit ae2d80501a
3 changed files with 23 additions and 0 deletions

View File

@ -2,6 +2,22 @@
task 'db:migrate' => 'environment' do
I18n.locale = SiteSetting.default_locale rescue :en
SeedFu.seed
if SiteSetting.vacuum_db_days > 0 &&
SiteSetting.last_vacuum < (Time.now.to_i - SiteSetting.vacuum_db_days.days.to_i)
puts "Running VACUUM FULL ANALYZE to reclaim DB space, this may take a while"
puts "Set to run every #{SiteSetting.vacuum_db_days} days (search for vacuum in site settings)"
puts "#{Time.now} starting..."
begin
Topic.exec_sql("VACUUM FULL ANALYZE")
rescue => e
puts "VACUUM failed, skipping"
puts e.to_s
end
SiteSetting.last_vacuum = Time.now.to_i
puts "#{Time.now} VACUUM done"
end
end
task 'test:prepare' => 'environment' do