我已经用rails编写了我的第一个rake任务,我已经用Heroku调度器设置了它,它正在运行,但是邮件没有被发送。我的邮件设置没有问题,因为我正在使用它做各种其他事情,我想这是我在rake任务中的代码有问题。任何帮助都将不胜感激。
lib/task/uncomplete_form.rake
desc "Remind users if they haven't completed quote form"
task uncomplete_form: :environment do
puts 'Reminding users of uncomplete quote form'
date = Date.parse('december 18 2016')
quickcontacts = Quickcontact.where(created_at: date.midnight..Time.now)
quickcontacts.each do |quickcontact|
next unless quickcontact.created_at > 1.hour.ago
if quickcontact.p_p = nil
QuickcontactMailer.uncomplete_form(@quickcontact).deliver
end
end
puts 'done.'
end通过运行rake uncomplete_form,我得到了
提醒用户未填写的报价单
好了。
运行heroku运行rake uncomplete_form我得到了
Reminding users of uncomplete quote form
Quickcontact Load (1.5ms) SELECT "quickcontacts".* FROM "quickcontacts" WHERE ("quickcontacts"."created_at" BETWEEN '2016-12-18 00:00:00.000000' AND '2016-12-20 12:09:23.683977')
done.它似乎没有拾取任何快速联系人-但是,如果在控制台中运行:
date = Date.parse('december 18 2016')紧接着是
quickcontacts = Quickcontact.where(created_at: date.midnight..Time.now)它确实找到了预期的联系人
https://stackoverflow.com/questions/41242555
复制相似问题