2012-02-29 9 views
1

Herokuには1つのアプリケーション(Rails 3)が導入されています。 約500人のユーザーにメールダイジェストを送信するために、delayed_jobを使用しています。Heroku:メールを複数回送信することを遅らせる

Notifier.delay.send_email_digest(digest_content, @user) 

私のアプリケーションには、3つのウェブダイナモと2つのワーカーダイノスがあります。 仕事は地元のユーザーごとに1つの電子メールダイジェストを送信していますが、 英雄(プロダクション)では、いくつかのユーザーに対して2つの電子メールダイジェストを送信しています(奇妙なことです)。

2つのワーカーダイノーが原因ですか(それはなぜですか?または単なる偶然)。 誰も私が問題を解決するのを助けることができますか?

ありがとうございました。

+0

1人のワーカーしかいないときに問題がありますか? –

+0

@Neil Middleton他のバックグラウンドジョブを作成するには、2つのワーカーdynosが必要です。だから、どこが間違っているのか理解してくれるの? – asitmoharna

+0

私の推測では、各従業員が仕事を拾い上げており、その後、その仕事を2回続けて作業しています。 –

答えて

5

send_email_digestメソッド内でdeliverですか?遅延ジョブは電子メールを送信するときにいくつかの魔法を使用し、それはあなたのために自動的に配信を呼び出します。配達を自分で呼び出すと、複数回送信されます。私はこれを機会に起こした。

+0

はい、これも見つけました。 README:https://github.com/collectiveidea/delayed_job#rails-3-mailersに記載されています –

関連する問題