レールを使用しています。遅延ジョブを使用して1分間に5人のユーザーにメールを送信する方法
私のレールアプリケーションから100人のユーザーに電子メールを送信します。
私はdelayed_job gemを追加して電子メールを非同期で送信しました。続き
はコードです:
コントローラ:
UserMailer.delay.send_mail(email, subject, body)
メーラー:私は毎分5ユーザーにメールを送信する方法を、知っておく必要があり
def send_mail(email, subject, body)
mail(to: email, subject: subject, body: body, content_type: "text/html")
end
Q.?
Q. delayed_jobを使用して100人のユーザーにメールを送信した場合、delayed_jobテーブルの下に100のジョブがあります。バッチでメールを送信できますか?
コントローラのコードを 'UserMailer.send_mail'呼び出しの周りに追加できますか?あなたはその周りにループを持っていますか、それは一度だけ呼び出されていますか?あなたが 'send_mail'を呼び出す前にすべての電子メールを持っていれば、解決策はかなりシンプルでなければなりません。一方で、何らかの形で電子メールを1つずつ収集して一括して送信する必要がある場合は、全く異なるアプローチが必要です。 – Teoulas
すべてのユーザーを取得し、ループを実行してメールを送信します。 – puneet18
1分間に5人のユーザーにメールを送信する方法は? – puneet18