Heroku:推迟了多次发送电子邮件的工作

时间:2012-02-29 09:26:49

标签: ruby-on-rails-3 heroku delayed-job

我们在Heroku中部署了一个应用程序(Rails 3)。 为了向近500名用户发送电子邮件摘要,我们使用的是delayed_job。

Notifier.delay.send_email_digest(digest_content, @user)

我的应用程序有3个web dynos和2个worker dynos。 虽然任务是在本地每个用户只发送一个电子邮件摘要, 在heroku(生产)中,它为一些用户发送了两个电子邮件摘要(奇怪)。

是由于两个工人dynos(但为什么??或仅仅是巧合)。 有人可以帮我解决问题吗?

感谢。

1 个答案:

答案 0 :(得分:5)

在send_email_digest方法中,您是否正在调用传递?延迟工作在发送电子邮件时会使用一些魔法,它会自动为您拨打电话。如果你打电话给自己,它会发送多次。我偶尔会发生这种情况。