gpt4 book ai didi

ruby-on-rails - rails : delayed_job mail not sending

转载 作者:行者123 更新时间:2023-12-02 08:48:29 25 4
gpt4 key购买 nike

我正在尝试使用 delayed_job gem https://github.com/collectiveidea/delayed_job在Rails 3.2 中可以在后台发送邮件。

我安装了 gem

 gem 'delayed_job_active_record'

我按照指示生成了表并运行了迁移

$ rails generate delayed_job:active_record
$ rake db:migrate

注意到在 Rails 3 中有针对邮件程序的特殊说明

     # without delayed_job
Notifier.signup(@user).deliver

# with delayed_job
Notifier.delay.signup(@user)

我做到了

 def send_welcome_email

#UserMailer.welcome_email(self).deliver <-- original code that worked

UserMailer.delay.welcome_email(self)

end

但是邮件没有发送。在我尝试使用 delayed_job 之前它一直在工作...

有人可以为新手澄清......吗?

最佳答案

您是否启动了至少 1 个 delayed_job worker?

rake jobs:work

实际上,当您对一个对象调用delay时,您只是在排队一个作业。这意味着将在 DelayedJob 表中创建一个新条目,其中包含与您的作业关联的所有元数据。

所以你仍然需要一些东西来浏览你所有的 DelayedJob 条目并一个一个地运行它们,那个东西就是上面显示的 rake 任务(worker)。

对于生产环境,这取决于您在何处部署应用程序。在 Heroku 上,您只需指定所需的工作人员数量(Worker dynos),他们就会自动启动。

关于ruby-on-rails - rails : delayed_job mail not sending,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10567657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com