奇怪的问题。我在scheduler.rake中有一个rake任务:
task :send_daily_digests => :environment do
User.where(frequency: "daily").each do |user|
user.send_digest("daily")
end
end
User.rb有一个方法:
def send_digest(frequency)
if frequency == "daily"
NotificationMailer.send_daily_digest(self.id).deliver_now
elsif frequency == "weekly"
NotificationMailer.send_weekly_digest(self.id).deliver_now
end
end
我已经在heroku的调度程序中设置了每日任务:
rake send_daily_digests
然而,当我在几天后查看我的Mailgun日志时,我发现没有邮件被发送。如果我在控制台heroku run rake send_daily_digests
中手动调用rake任务,那么我可以看到邮件正在发送,并显示在mailgun日志中。
我仔细检查了heroku调度程序,它说rake任务每天都在运行。
知道为什么会这样吗?