1

バックオフィスには、ユーザーに通知を送信できるニュースレター システムがあります。問題は、実際には 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システムを実装する方法について何か考えはありますか?

どうもありがとう

4

1 に答える 1