我曾经使用gem每天发送邮件但它没有发送。我正在使用amazon linux ec2
实例。请查看我的代码一次。
schedule.rb:
every 5.minutes do
runner "Listings.today_expired_spaces"
end
Listings.rb:(模型文件)
def today_expired_spaces
@list=List.find_by_date(Date.today)
UserMailer.today_expired_list(@list).deliver
end
在制作中:
运行这些命令后,我得到这样的回复
1.whenever -w
[写] crontab文件写的
2.whenever -i [write] crontab文件更新
3.whenever
0,5,10,15,20,25,30,35,40,45,50,55 * * * * / bin / bash -l -c' cd / home / ubuntu / my_server&&捆绑exec脚本/ rails runner -e 制作' \#39; Spaces.today_expired_spaces' \'''
[message]上面是你的日程文件转换为cron语法;您的crontab文件未更新。
[消息]运行`每当--help'了解更多选择。
请为此提供解决方案。
答案 0 :(得分:0)
您应该在rake task
文件夹中设置lib/tasks
并将任务包含在config/schedule.rb
(仅作为文件名)
lib/tasks/send_mail_bang_bang.rake
require 'rake'
namespace :task_namespace do
desc 'task description'
task :send_mail => :environment do
# call Listing method to send mail
Listings.today_expired_spaces
end
end
中的
config/schedule.rb
您可以在“custom-rake-tasks”部分中阅读有关rake任务here的更多信息
希望有所帮助