diff --git a/ruby/lib/jam_ruby/lib/gear_setup_reminder.rb b/ruby/lib/jam_ruby/lib/gear_setup_reminder.rb index cc5eb608a..c8e91ce89 100644 --- a/ruby/lib/jam_ruby/lib/gear_setup_reminder.rb +++ b/ruby/lib/jam_ruby/lib/gear_setup_reminder.rb @@ -5,7 +5,7 @@ module JamRuby def self.send_reminders begin - cutoff_date = Date.parse(Rails.application.config.signup_survey_cutoff_date) # Define a cutoff date for the survey/gear setup emails + cutoff_date = Date.parse(Rails.application.config.gear_setup_reminders_effective_from_date) # Define a cutoff date for the survey/gear setup emails reminder1_users(cutoff_date).find_each do |user| UserMailer.gear_setup_reminder1(user).deliver_now diff --git a/ruby/lib/jam_ruby/lib/test_gear_reminder.rb b/ruby/lib/jam_ruby/lib/test_gear_reminder.rb index aeb0431ba..aa3afa55a 100644 --- a/ruby/lib/jam_ruby/lib/test_gear_reminder.rb +++ b/ruby/lib/jam_ruby/lib/test_gear_reminder.rb @@ -5,17 +5,18 @@ module JamRuby def self.send_reminders begin - reminder1_users.find_each do |user| + cutoff_date = Date.parse(Rails.application.config.test_gear_reminders_effective_from_date) # Define a cutoff date for the test gear setup emails + reminder1_users.find_each(batch_size:100) do |user| UserMailer.test_gear_reminder1(user).deliver_now User.where(id: user.id).update_all(test_gear_reminder1_sent_at: Time.now) end - reminder2_users.find_each do |user| + reminder2_users.find_each(batch_size:100) do |user| UserMailer.test_gear_reminder2(user).deliver_now User.where(id: user.id).update_all(test_gear_reminder2_sent_at: Time.now) end - reminder3_users.find_each do |user| + reminder3_users.find_each(batch_size:100) do |user| UserMailer.test_gear_reminder3(user).deliver_now User.where(id: user.id).update_all(test_gear_reminder3_sent_at: Time.now) end @@ -29,16 +30,16 @@ module JamRuby User.where("users.first_music_session_at IS NULL") end - def self.reminder1_users - TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.test_gear_reminder1_sent_at IS NULL", 1.day.ago) + def self.reminder1_users(cutoff_date) + TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.created_at >= ? AND users.test_gear_reminder1_sent_at IS NULL", 1.day.ago, cutoff_date) end - def self.reminder2_users - TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.test_gear_reminder1_sent_at IS NOT NULL AND users.test_gear_reminder2_sent_at IS NULL", 3.days.ago) + def self.reminder2_users(cutoff_date) + TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.created_at >= ? AND users.test_gear_reminder1_sent_at IS NOT NULL AND users.test_gear_reminder2_sent_at IS NULL", 3.days.ago, cutoff_date) end - def self.reminder3_users - TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.test_gear_reminder2_sent_at IS NOT NULL AND users.test_gear_reminder3_sent_at IS NULL", 5.days.ago) + def self.reminder3_users(cutoff_date) + TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.created_at > ? AND users.test_gear_reminder2_sent_at IS NOT NULL AND users.test_gear_reminder3_sent_at IS NULL", 5.days.ago, cutoff_date) end end end \ No newline at end of file diff --git a/web/config/application.rb b/web/config/application.rb index 3ca4f1cf5..3ad90d1aa 100644 --- a/web/config/application.rb +++ b/web/config/application.rb @@ -522,6 +522,8 @@ if defined?(Bundler) config.send_user_match_mail_only_to_jamkazam_team = true config.signup_survey_url = "https://www.surveymonkey.com/r/WVBKLYL" config.signup_survey_cutoff_date = "2025-06-10" + config.gear_setup_reminders_effective_from_date = "2025-06-10" + config.test_gear_reminders_effective_from_date = "2025-07-24" config.action_mailer.asset_host = config.action_controller.asset_host end end diff --git a/web/config/environments/development.rb b/web/config/environments/development.rb index 858e677b1..4656ca7d4 100644 --- a/web/config/environments/development.rb +++ b/web/config/environments/development.rb @@ -128,4 +128,6 @@ SampleApp::Application.configure do config.send_user_match_mail_only_to_jamkazam_team = false config.signup_survey_url = "https://www.surveymonkey.com/r/WVBKLYL" config.signup_survey_cutoff_date = "2025-06-10" + config.gear_setup_reminders_effective_from_date = "2025-06-10" + config.test_gear_reminders_effective_from_date = "2025-07-24" end