バックオフィスには、ユーザーに通知を送信できるニュースレター システムがあります。問題は、実際には 10,000 人のユーザーが登録されており、ループ内の各ユーザーにメールを送信しているため、プロセスが非常に遅くなっていることです。
def send
users.each do |u|
@display_name = u.display_name
mail ( to: u.email, subject: "The day subject" )
end
end
(おそらく) 高速化するために BCC として送信するつもりでしたが、メール テンプレート (:display_name) にユーザー名を表示する必要があるため、残念ながらそれはできません。
私はそれを cronjob に委任して、それぞれ、たとえば 5 分間、一度に 1,000 人にメールを送信することを考えていました (合計ユーザー数に達するまで 1,000 ごとに 1,000)。問題は、どこから、どのように始めたらよいかわからないことです。
より高速にする方法やcronjobシステムを実装する方法について何か考えはありますか?
どうもありがとう