我正在学习cron作业和延迟作业,我想使用后台作业发送电子邮件;为此,我正在使用delayed_job
宝石。我不想通过运行rake jobs:work
命令手动启动工作程序,但我想在 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
对于我正在使用“无论何时”Gem 的 cron 作业,那么我应该在 schedule.rb 文件中写些什么,这样当我登录仪表板时,我会收到一封邮件,而无需手动运行 worker?