1
0
Fork 0
forked from OpenNeo/impress

Remove unused "outfits#new newest_items" cache

Huh! This cache key seemed to only be referenced in checks and expirations, but was never actually used! So I guess we've been loading the modeling predictions every time for a while huh??

We'll get smarter about that someday, but anyway, that lets us delete our Item resque tasks and ItemObserver!
This commit is contained in:
Matchu 2023-08-02 12:02:19 -07:00
parent e9c16891c8
commit 596c2a1320
5 changed files with 19 additions and 66 deletions

View file

@ -46,31 +46,29 @@ class OutfitsController < ApplicationController
@species = Species.alphabetical
end
unless localized_fragment_exist?('outfits#new newest_items')
newest_items = Item.newest.select([:id, :updated_at, :thumbnail_url, :rarity_index]).
includes(:translations).limit(18)
@newest_modeled_items, @newest_unmodeled_items =
newest_items.partition(&:predicted_fully_modeled?)
newest_items = Item.newest.select([:id, :updated_at, :thumbnail_url, :rarity_index]).
includes(:translations).limit(18)
@newest_modeled_items, @newest_unmodeled_items =
newest_items.partition(&:predicted_fully_modeled?)
@newest_unmodeled_items_predicted_missing_species_by_color = {}
@newest_unmodeled_items_predicted_modeled_ratio = {}
@newest_unmodeled_items.each do |item|
h = item.predicted_missing_nonstandard_body_ids_by_species_by_color(
Color.includes(:translations).select([:id]),
Species.includes(:translations).select([:id]))
standard_body_ids_by_species = item.
predicted_missing_standard_body_ids_by_species(
Species.select([:id]).includes(:translations))
if standard_body_ids_by_species.present?
h[:standard] = standard_body_ids_by_species
end
@newest_unmodeled_items_predicted_missing_species_by_color[item] = h
@newest_unmodeled_items_predicted_modeled_ratio[item] = item.predicted_modeled_ratio
@newest_unmodeled_items_predicted_missing_species_by_color = {}
@newest_unmodeled_items_predicted_modeled_ratio = {}
@newest_unmodeled_items.each do |item|
h = item.predicted_missing_nonstandard_body_ids_by_species_by_color(
Color.includes(:translations).select([:id]),
Species.includes(:translations).select([:id]))
standard_body_ids_by_species = item.
predicted_missing_standard_body_ids_by_species(
Species.select([:id]).includes(:translations))
if standard_body_ids_by_species.present?
h[:standard] = standard_body_ids_by_species
end
@species_count = Species.count
@newest_unmodeled_items_predicted_missing_species_by_color[item] = h
@newest_unmodeled_items_predicted_modeled_ratio[item] = item.predicted_modeled_ratio
end
@species_count = Species.count
unless localized_fragment_exist?('outfits#new latest_contribution')
@latest_contribution = Contribution.recent.first
Contribution.preload_contributeds_and_parents([@latest_contribution].compact)

View file

@ -1,19 +0,0 @@
class Item
class CreateTask
extend FragmentExpiration
TIMEOUT_IN_SECONDS = 10
@queue = :item_create
def self.perform(id)
Timeout::timeout(TIMEOUT_IN_SECONDS) do
expire_newest_items
end
end
def self.expire_newest_items
expire_fragment_in_all_locales('outfits#new newest_items')
end
end
end

View file

@ -1,16 +0,0 @@
class Item
class DestroyTask
extend FragmentExpiration
TIMEOUT_IN_SECONDS = 10
@queue = :item_destroy
def self.perform(id)
Timeout::timeout(TIMEOUT_IN_SECONDS) do
# TODO: it's kinda ugly to reach across classes like this
CreateTask.expire_newest_items
end
end
end
end

View file

@ -1,9 +0,0 @@
class ItemObserver < ActionController::Caching::Sweeper
def after_create(item)
Resque.enqueue(Item::CreateTask, item.id)
end
def after_destroy(item)
Resque.enqueue(Item::DestroyTask, item.id)
end
end

View file

@ -100,7 +100,6 @@
%abbr#latest-contribution-created-at{:title => @latest_contribution.created_at.getutc.iso8601}
#whats-new
-# TODO: cache this entire block? or just request newest items every time?
- if @newest_unmodeled_items.present?
#modeling-neopets-users{'data-usernames' => @neopets_usernames.to_json}
%h3= t '.newest_items.unmodeled.header'