From f5b0f856d6237d0d89c683e6a8492ea4e9e9d88a Mon Sep 17 00:00:00 2001 From: Albert Yi Date: Sun, 14 Apr 2013 18:22:25 -0700 Subject: [PATCH] potential fix for #1305 --- app/logical/api_cache_generator.rb | 27 +++++++++++++++------------ app/logical/daily_maintenance.rb | 2 +- app/logical/tag_pruner.rb | 1 - config/deploy.rb | 5 +++++ 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/app/logical/api_cache_generator.rb b/app/logical/api_cache_generator.rb index 463d57a3a..d345ad38b 100644 --- a/app/logical/api_cache_generator.rb +++ b/app/logical/api_cache_generator.rb @@ -1,18 +1,21 @@ class ApiCacheGenerator def generate_tag_cache - File.open("#{Rails.root}/public/cache/tags.json", "w") do |f| + FileUtils.mkdir_p("/var/www/danbooru2/shared/system/cache") + File.open("/var/www/danbooru2/shared/system/cache/tags.json", "w") do |f| f.print("[") - Tag.find_each do |tag| - next unless tag.post_count > 0 - hash = { - "name" => tag.name, - "id" => tag.id, - "created_at" => tag.created_at, - "post_count" => tag.post_count, - "category" => tag.category - } - f.print(hash.to_json) - f.print(", ") + Tag.without_timeout do + Tag.find_each do |tag| + next unless tag.post_count > 0 + hash = { + "name" => tag.name, + "id" => tag.id, + "created_at" => tag.created_at, + "post_count" => tag.post_count, + "category" => tag.category + } + f.print(hash.to_json) + f.print(", ") + end end f.seek(-2, IO::SEEK_END) f.print("]\n") diff --git a/app/logical/daily_maintenance.rb b/app/logical/daily_maintenance.rb index 197f9a736..f4b51d1e5 100644 --- a/app/logical/daily_maintenance.rb +++ b/app/logical/daily_maintenance.rb @@ -2,7 +2,7 @@ class DailyMaintenance def run ActiveRecord::Base.connection.execute("set statement_timeout = 0") PostPruner.new.prune! - # TagPruner.new.prune! + TagPruner.new.prune! Upload.delete_all(['created_at < ?', 1.day.ago]) ModAction.delete_all(['created_at < ?', 3.days.ago]) Delayed::Job.delete_all(['created_at < ?', 1.day.ago]) diff --git a/app/logical/tag_pruner.rb b/app/logical/tag_pruner.rb index 10284776e..eb507dc57 100644 --- a/app/logical/tag_pruner.rb +++ b/app/logical/tag_pruner.rb @@ -1,7 +1,6 @@ class TagPruner def prune! Tag.without_timeout do - Tag.destroy_all(["post_count <= 0 and name like '%%:%%'"]) end end end diff --git a/config/deploy.rb b/config/deploy.rb index bfaf2bc09..f6c08a519 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -57,6 +57,11 @@ namespace :data do run "rm -f #{release_path}/public/images/advertisements" run "ln -s #{deploy_to}/shared/advertisements #{release_path}/public/images/advertisements" + + run "mkdir -p #{release_path}/public/cache" + run "mkdir -p #{deploy_to}/shared/system/cache" + run "touch #{deploy_to}/shared/system/cache/tags.json" + run "ln -s #{deploy_to}/shared/system/cache/tags.json #{release_path}/public/cache/tags.json" end end