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
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue