From d3bb3d4ce8068bfacecf1517ed80e993eb4561a2 Mon Sep 17 00:00:00 2001 From: Jeremy Walker Date: Tue, 2 Apr 2024 14:04:01 +0100 Subject: [PATCH 1/2] Record activites async --- app/commands/solution/complete.rb | 2 +- app/commands/solution/publish.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/commands/solution/complete.rb b/app/commands/solution/complete.rb index b261d590c9..cf6e43b3c3 100644 --- a/app/commands/solution/complete.rb +++ b/app/commands/solution/complete.rb @@ -37,7 +37,7 @@ def award_trophies! end def record_activity! - User::Activity::Create.( + User::Activity::Create.defer( :completed_exercise, user, track: exercise.track, diff --git a/app/commands/solution/publish.rb b/app/commands/solution/publish.rb index 9aa3a89b84..cba0453812 100644 --- a/app/commands/solution/publish.rb +++ b/app/commands/solution/publish.rb @@ -44,7 +44,7 @@ def award_badges! end def record_activity! - User::Activity::Create.( + User::Activity::Create.defer( :published_exercise, user, track: solution.track, From 83805a2879cd35b0b2d9acf680b514105d6ad6ff Mon Sep 17 00:00:00 2001 From: Jeremy Walker Date: Tue, 2 Apr 2024 14:06:21 +0100 Subject: [PATCH 2/2] Defer lots more --- app/commands/solution/publish_iteration.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/commands/solution/publish_iteration.rb b/app/commands/solution/publish_iteration.rb index 5eabb58d1a..22a4b6f952 100644 --- a/app/commands/solution/publish_iteration.rb +++ b/app/commands/solution/publish_iteration.rb @@ -6,11 +6,11 @@ class Solution::PublishIteration def call solution.update!(published_iteration: iteration) - Solution::UpdateTags.(solution) - Solution::UpdatePublishedExerciseRepresentation.(solution) - Solution::UpdateSnippet.(solution) - Solution::UpdateNumLoc.(solution) - Solution::InvalidateCloudfrontItem.(solution) if invalidate + Solution::UpdateTags.defer(solution) + Solution::UpdatePublishedExerciseRepresentation.defer(solution) + Iteration::GenerateSnippet.defer(solution) + Solution::UpdateNumLoc.defer(solution) + Solution::InvalidateCloudfrontItem.defer(solution) if invalidate end private