1

play.mvc.Mailer 経由でメールを送信するための RateLimit を実装するにはどうすればよいですか?

Play フレームワーク 1.2.5 アプリケーションに SES を実装して、GMAIL を置き換えています。アプリケーションは、一度に 200 通の電子メール (通知) を送信する可能性がある状況に遭遇するため、1 秒あたり 5 受信者にレート制限する必要があります。Amazon は、Google Guava の RateLimit クラス ( http://sesblog.amazon.com/post/TxKR75VKOYDS60/How-to-handle-a-quot-Throttling-Maximum-sending-rate-exceeded-quot-error ) を推奨しています。現在、Play の Mailer クラスを拡張しています。sendWithRateLimit(Object...args) などの独自の send メソッドを呼び出そうとすると、play の LocalvariablesNamesEnhancer クラスを使用して取得したコンテキストが失われるため、呼び出すテンプレートがわかりません。

どんな助けでも大歓迎です。

4

2 に答える 2

1

今では遅すぎますが、これを行う方法は次のとおりです。

  1. メールを表すモデルを作成し、それを呼び出してEmail、DB に保存します
  2. 次の X レコードを取得するジョブを作成し、Email許可された速度で実行するようにスケジュールします
  3. Emailレコードごとに、メーラーを使用して電子メールを送信します
于 2013-04-13T12:28:51.097 に答える