我有一个 Rails 项目,我想为其设置电子邮件通知。例如,如果记录 X 将在 5 天后过期,请向所有者发送电子邮件。我在新用户注册时设置了电子邮件通知,但不知道如何根据条件发送电子邮件(如果 x = y,则发送电子邮件)。请帮忙!!
问问题
1742 次
1 回答
2
您可以为此使用 rake 任务。将其设置在 cron 中以每天执行一次。
您可以修改和使用的示例 rake 任务代码:
task :send_reminds => :environment do
Record.all.each do |remind|
UserMailer.remind_email(record).deliver if record.expires_in(5.days)
end
end
制作新的 bash 脚本,把它放在你想要的任何地方:
#!/bin/bash
cd /your/path/to/rails/app
rake send_reminds
用于crontab -e
将您的任务添加到 crontab。添加这一行:
0 0 * * * /your/path/to/bash/script
它将在每天午夜执行。
请记住将 chmod +x 设置为脚本!
于 2012-04-09T17:38:04.830 回答