2017-06-20 9 views
0

私はactionmailerのを使っていて、次のように私の現在の機能は次のとおりです。Railsの多数のユーザにメールを送信する最も効率的な方法は何ですか?

def send_profile_reminder() 
    User.all do |user| 
     if user.setup_profile == false 
     ReminderMailer.send_reminder(user).deliver 
     end 
    end 
    end 

は、これが最も効率的な答えですか?

+0

「効率的」を定義する –

+0

メーリング・タスクを実行できる最も速い(時間効率)機能の点で効率的です。 (少なくともウェブサイトのパフォーマンスに遅れを生じさせない程度に速い) – Quinty

+1

ウェブサイトのパフォーマンスに影響を与えないという点で、このコードは最悪です。すべてのメールが配信される(またはページがタイムアウトする)まで、あなたのページはブロックされます。バックグラウンドでメールを送ってください( '.deliver_later')。 –

答えて

1

ActionMailerは1通のメールを送信しても問題ありませんが、大規模なユーザーに送信すると問題が発生します。 SendgridMailchimpのようなサービスの一部は、大量の電子メールを多数のユーザーに送信するのに役立ちます。

関連する問題