cutoff date for test gear reminder email
add cutoff date config to limit the selection after a certain date add batch_size:100 to loops
This commit is contained in:
parent
b732442932
commit
6e0a86af40
|
|
@ -5,7 +5,7 @@ module JamRuby
|
||||||
|
|
||||||
def self.send_reminders
|
def self.send_reminders
|
||||||
begin
|
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|
|
reminder1_users(cutoff_date).find_each do |user|
|
||||||
UserMailer.gear_setup_reminder1(user).deliver_now
|
UserMailer.gear_setup_reminder1(user).deliver_now
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,18 @@ module JamRuby
|
||||||
|
|
||||||
def self.send_reminders
|
def self.send_reminders
|
||||||
begin
|
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
|
UserMailer.test_gear_reminder1(user).deliver_now
|
||||||
User.where(id: user.id).update_all(test_gear_reminder1_sent_at: Time.now)
|
User.where(id: user.id).update_all(test_gear_reminder1_sent_at: Time.now)
|
||||||
end
|
end
|
||||||
|
|
||||||
reminder2_users.find_each do |user|
|
reminder2_users.find_each(batch_size:100) do |user|
|
||||||
UserMailer.test_gear_reminder2(user).deliver_now
|
UserMailer.test_gear_reminder2(user).deliver_now
|
||||||
User.where(id: user.id).update_all(test_gear_reminder2_sent_at: Time.now)
|
User.where(id: user.id).update_all(test_gear_reminder2_sent_at: Time.now)
|
||||||
end
|
end
|
||||||
|
|
||||||
reminder3_users.find_each do |user|
|
reminder3_users.find_each(batch_size:100) do |user|
|
||||||
UserMailer.test_gear_reminder3(user).deliver_now
|
UserMailer.test_gear_reminder3(user).deliver_now
|
||||||
User.where(id: user.id).update_all(test_gear_reminder3_sent_at: Time.now)
|
User.where(id: user.id).update_all(test_gear_reminder3_sent_at: Time.now)
|
||||||
end
|
end
|
||||||
|
|
@ -29,16 +30,16 @@ module JamRuby
|
||||||
User.where("users.first_music_session_at IS NULL")
|
User.where("users.first_music_session_at IS NULL")
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.reminder1_users
|
def self.reminder1_users(cutoff_date)
|
||||||
TestGearReminder.prospect_users.where("users.first_certified_gear_at < ? AND users.test_gear_reminder1_sent_at IS NULL", 1.day.ago)
|
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
|
end
|
||||||
|
|
||||||
def self.reminder2_users
|
def self.reminder2_users(cutoff_date)
|
||||||
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)
|
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
|
end
|
||||||
|
|
||||||
def self.reminder3_users
|
def self.reminder3_users(cutoff_date)
|
||||||
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)
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -522,6 +522,8 @@ if defined?(Bundler)
|
||||||
config.send_user_match_mail_only_to_jamkazam_team = true
|
config.send_user_match_mail_only_to_jamkazam_team = true
|
||||||
config.signup_survey_url = "https://www.surveymonkey.com/r/WVBKLYL"
|
config.signup_survey_url = "https://www.surveymonkey.com/r/WVBKLYL"
|
||||||
config.signup_survey_cutoff_date = "2025-06-10"
|
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
|
config.action_mailer.asset_host = config.action_controller.asset_host
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -128,4 +128,6 @@ SampleApp::Application.configure do
|
||||||
config.send_user_match_mail_only_to_jamkazam_team = false
|
config.send_user_match_mail_only_to_jamkazam_team = false
|
||||||
config.signup_survey_url = "https://www.surveymonkey.com/r/WVBKLYL"
|
config.signup_survey_url = "https://www.surveymonkey.com/r/WVBKLYL"
|
||||||
config.signup_survey_cutoff_date = "2025-06-10"
|
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
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue