From 59b69d58a65256faee4b70a0cc71ce8929776547 Mon Sep 17 00:00:00 2001 From: Louise Crow Date: Tue, 11 Jun 2013 15:41:10 -0700 Subject: Get user records in batches, remove unneeded clause. --- app/mailers/track_mailer.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'app/mailers') diff --git a/app/mailers/track_mailer.rb b/app/mailers/track_mailer.rb index 391143214..bc3c162a3 100644 --- a/app/mailers/track_mailer.rb +++ b/app/mailers/track_mailer.rb @@ -39,11 +39,8 @@ class TrackMailer < ApplicationMailer def self.alert_tracks done_something = false now = Time.now() - users = User.find(:all, :conditions => [ "last_daily_track_email < ?", now - 1.day ]) - if users.empty? - return done_something - end - for user in users + User.find_each(:conditions => [ "last_daily_track_email < ?", + now - 1.day ]) do |user| next if !user.should_be_emailed? || !user.receive_email_alerts email_about_things = [] -- cgit v1.2.3 From 6acc1d34d93234d79e6237bc86f6cb9fb01abc20 Mon Sep 17 00:00:00 2001 From: Louise Crow Date: Tue, 11 Jun 2013 15:57:06 -0700 Subject: Only do time calculation once. --- app/mailers/track_mailer.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/mailers') diff --git a/app/mailers/track_mailer.rb b/app/mailers/track_mailer.rb index bc3c162a3..7157e12d8 100644 --- a/app/mailers/track_mailer.rb +++ b/app/mailers/track_mailer.rb @@ -39,6 +39,7 @@ class TrackMailer < ApplicationMailer def self.alert_tracks done_something = false now = Time.now() + one_week_ago = now - 7.days User.find_each(:conditions => [ "last_daily_track_email < ?", now - 1.day ]) do |user| next if !user.should_be_emailed? || !user.receive_email_alerts @@ -73,7 +74,7 @@ class TrackMailer < ApplicationMailer end next if track_thing.created_at >= result[:model].described_at # made before the track was created - next if result[:model].described_at < now - 7.days # older than 1 week (see 14 days / 7 days in comment above) + next if result[:model].described_at < one_week_ago # older than 1 week (see 14 days / 7 days in comment above) next if done_info_request_events.include?(result[:model].id) # definitely already done # OK alert this one -- cgit v1.2.3