remove grade_calculator_performance_improvements release flag
closes EVAL-1285 flag=grade_calculator_performance_improvements Test Plan: - specs pass Change-Id: Ic60680a0bf9936b0b39b728b8caf93ffc90e6b84 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251886 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com> Reviewed-by: Adrian Packel <apackel@instructure.com> Product-Review: Syed Hussain <shussain@instructure.com> QA-Review: Spencer Olson <solson@instructure.com>
This commit is contained in:
parent
11dae30497
commit
6929c029f9
|
@ -24,11 +24,6 @@ datadog_rum_js:
|
|||
applies_to: SiteAdmin
|
||||
display_name: Datadog RUM JS Agent
|
||||
description: Include the Datadog RUM JS Agent in the document HEAD.
|
||||
grade_calculator_performance_improvements:
|
||||
state: hidden
|
||||
applies_to: SiteAdmin
|
||||
display_name: Grade Calculator Performance Improvements
|
||||
description: Performance improvements for the grade calculation process.
|
||||
gradebook_dataloader_improvements:
|
||||
state: hidden
|
||||
applies_to: SiteAdmin
|
||||
|
|
|
@ -133,24 +133,13 @@ class GradeCalculator
|
|||
# done after calculate_hidden_scores -- so changes in that inner call are also captured. But
|
||||
# it must be done before calculate_course_score so if @update_course_score is true (we are
|
||||
# scoring a grading period, not a course) we don't trigger an additional alert/live event here.
|
||||
if performance_improvements_enabled?
|
||||
create_course_grade_alerts_and_live_events(scores_prior_to_compute)
|
||||
else
|
||||
old_create_course_grade_alerts_and_live_events(scores_prior_to_compute)
|
||||
end
|
||||
create_course_grade_alerts_and_live_events(scores_prior_to_compute)
|
||||
|
||||
calculate_course_score if @update_course_score
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# TODO: delete this method once grade_calculator_performance_improvements is enabled everywhere
|
||||
def performance_improvements_enabled?
|
||||
return @performance_improvements_enabled if defined?(@performance_improvements_enabled)
|
||||
|
||||
@performance_improvements_enabled = Account.site_admin.feature_enabled?(:grade_calculator_performance_improvements)
|
||||
end
|
||||
|
||||
def effective_due_dates
|
||||
@effective_due_dates ||= EffectiveDueDates.for_course(@course, @assignments).filter_students_to(@user_ids)
|
||||
end
|
||||
|
@ -162,21 +151,6 @@ class GradeCalculator
|
|||
uniq
|
||||
end
|
||||
|
||||
# TODO: delete this method once grade_calculator_performance_improvements is enabled everywhere
|
||||
def old_create_course_grade_alerts_and_live_events(scores)
|
||||
@course.shard.activate do
|
||||
ActiveRecord::Associations::Preloader.new.preload(scores, :enrollment)
|
||||
# Make only one alert per user even if they have multiple enrollments (sections in same course)
|
||||
scores = scores.uniq{|s| s.enrollment.user_id}
|
||||
reloaded_scores = Score.where(id: scores.map(&:id)).index_by(&:id)
|
||||
scores.each do |score|
|
||||
# Note: only the old score has enrollment pre-loaded
|
||||
create_course_grade_live_event(score, reloaded_scores[score.id]) if @emit_live_event
|
||||
old_create_course_grade_alert(score, reloaded_scores[score.id])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def create_course_grade_alerts_and_live_events(scores)
|
||||
@course.shard.activate do
|
||||
ActiveRecord::Associations::Preloader.new.preload(scores, :enrollment)
|
||||
|
@ -214,25 +188,6 @@ class GradeCalculator
|
|||
Canvas::LiveEvents.course_grade_change(score, old_score_values, old_score.enrollment)
|
||||
end
|
||||
|
||||
# TODO: delete this method once grade_calculator_performance_improvements is enabled everywhere
|
||||
def old_create_course_grade_alert(old_score, score)
|
||||
# Use preloaded enrollment in old_score
|
||||
thresholds = ObserverAlertThreshold.active.where(student: old_score.enrollment.user_id, alert_type: ['course_grade_high', 'course_grade_low'])
|
||||
|
||||
thresholds.each do |threshold|
|
||||
next unless threshold.did_pass_threshold(old_score.current_score, score.current_score)
|
||||
next unless threshold.observer.enrollments.where(course_id: @course.id).first.present?
|
||||
|
||||
ObserverAlert.create(observer: threshold.observer, student: threshold.student,
|
||||
observer_alert_threshold: threshold,
|
||||
context: @course, action_date: score.updated_at, alert_type: threshold.alert_type,
|
||||
title: I18n.t("Course grade: %{grade}% in %{course_code}", {
|
||||
grade: score.current_score,
|
||||
course_code: @course.course_code
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
||||
def create_course_grade_alert(old_score, score, thresholds)
|
||||
thresholds.each do |threshold|
|
||||
next unless threshold.did_pass_threshold(old_score.current_score, score.current_score)
|
||||
|
|
|
@ -22,7 +22,6 @@ require_relative '../sharding_spec_helper'
|
|||
|
||||
describe GradeCalculator do
|
||||
before :once do
|
||||
Account.site_admin.enable_feature!(:grade_calculator_performance_improvements)
|
||||
course_with_student active_all: true
|
||||
end
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ require_relative '../sharding_spec_helper'
|
|||
|
||||
describe GradeCalculator do
|
||||
before :once do
|
||||
Account.site_admin.enable_feature!(:grade_calculator_performance_improvements)
|
||||
course_with_student active_all: true
|
||||
end
|
||||
|
||||
|
|
|
@ -351,7 +351,6 @@ describe Lti::LtiOutboundAdapter do
|
|||
let(:enrollment) { StudentEnrollment.create!(user: user, course: course, workflow_state: 'active') }
|
||||
|
||||
before do
|
||||
allow(Account.site_admin).to receive(:feature_enabled?).with(:grade_calculator_performance_improvements).and_return(true)
|
||||
allow(BasicLTI::Sourcedid).to receive(:encryption_secret) {'encryption-secret-5T14NjaTbcYjc4'}
|
||||
allow(BasicLTI::Sourcedid).to receive(:signing_secret) {'signing-secret-vp04BNqApwdwUYPUI'}
|
||||
assignment.update!(
|
||||
|
|
|
@ -23,10 +23,6 @@ describe ObserverAlert do
|
|||
include Api
|
||||
include Api::V1::ObserverAlertThreshold
|
||||
|
||||
before(:each) do
|
||||
Account.site_admin.enable_feature!(:grade_calculator_performance_improvements)
|
||||
end
|
||||
|
||||
describe 'validations' do
|
||||
before :once do
|
||||
@student = user_model
|
||||
|
|
Loading…
Reference in New Issue