【发布时间】:2012-04-21 04:53:58
【问题描述】:
我正在学习cron作业和延迟作业,我想使用后台作业发送电子邮件;为此,我正在使用delayed_job gem。我不想通过运行rake jobs:work 命令手动启动worker,但我想在cron 作业中设置这个rake,所以每当用户登录到仪表板时,这个命令就会被触发,并且邮件会发送到他的地址。以下是我的代码:
发邮件方式
def dashboard
@user = User.find(params[:id])
UserMailer.delay.initial_email(@user)
end
用户邮箱
def initial_email(user)
@user = user
mail(:to => user.email,:subject => "Welcome to my website!")
end
对于我使用“whenever” Gem 的 cron 作业,我应该在 schedule.rb 文件中写入什么内容,以便在登录仪表板时无需手动运行 worker 就可以收到邮件?
【问题讨论】:
标签: ruby-on-rails-3 cron delayed-job rake-task whenever