Reduce memory use in race score loader

pull/1/head
rebuilt 3 years ago
parent e4dba195ac
commit 4a32ea3332

@ -2,14 +2,19 @@ class RaceScoreLoader
def self.reset(schools: School.all, academic_years: AcademicYear.all, measures: Measure.all, races: Race.all)
RaceScore.where(school: schools, academic_year: academic_years, measure: measures, race: races).delete_all
measures.each do |measure|
loadable_race_scores = schools.map do |school|
academic_years.map do |academic_year|
schools.each do |school|
loadable_race_scores = []
loadable_race_scores = academic_years.map do |academic_year|
races.map do |race|
process_score(measure:, school:, academic_year:, race:)
end
end
RaceScore.import(loadable_race_scores.flatten.compact, batch_size: 1_000, on_duplicate_key_update: :all)
@grouped_responses = nil
@total_responses = nil
@response_rate = nil
@sufficient_responses = nil
end
RaceScore.import(loadable_race_scores.flatten.compact, batch_size: 1_000, on_duplicate_key_update: :all)
end
end

Loading…
Cancel
Save