2011-12-21 2 views
1

上記の1つの場所で達成する方法はありますか?電子メールを送信する場所がたくさんあり、遅延を追加するための電子メール送信の変更はできませんアプリケーションコードベース。Rails ActionMailerはメールを送信する前に数ミリ秒の遅延を加えます

X件以下の電子メールが1秒以内に送信されていることを確認したいだけです。

私たちはレール2.3.5を使用しています。

おかげ

EDIT

は、私たちは、電子メールを送信するためにアマゾンSESを使用しています。当初、1秒あたり1通の電子メールを許可しています。 1秒に複数のメールを送信するとどうなりますか。 SESはそれらを待ち行列に入れるか、何らかの例外をスローしますか?

答えて

1
  1. delayed_jobまたはresque
  2. のようなあなたがからの送信間隔を制御することができ、キューからジョブを受け取り、それらを処理ジョブプロセッサを持っているため、ジョブ・キューを使用した論理非同期を送信メールを作成しますプロセッサロジック
+0

ありがとう、clyfe。まあ、これはそれを行う一つの方法です。 Actionmailerの 'send'メソッドをオーバーライドして遅延やその他の方法を追加する方法はありますか?再度、感謝します。 – Saim

+0

いいえ、ありません。あなたはどちらかのあなたのreq-resサイクル(悪い)、どちらかのスレッド遅延をスピンして送信するが、この2番目の問題を解決しない、同じスループットを持つブロックします。そうではありません! – clyfe

+0

だから、唯一の方法は、いくつかのジョブキューを使用するか、電子メール送信コードの前に手動で遅延を追加することですか? – Saim

関連する問題