我是Ruby on rails的新手。
我必须使用每当宝石使用 cronjobs 实现自动生成邮件功能,并且我已按照此链接http://www.sitepoint.com/schedule-cron-jobs-whenever-gem/了
我做了什么---
1.添加user_notifier.rb
文件并将所有邮件操作设置为
class UserNotifier < ActionMailer::Base
default from: "myusername@example.com"
def two_hour_reminder
mail( :to => 'username@example.com' ,:subject => 'Reminder')
end
def mail_notification
UserNotifier.two_hour_reminder.deliver
end
end
2。添加了schedule.rb
every 3.minutes do
rake 'send_digest_email'
end
3。添加了scheduler.rake
desc 'send digest email'
task send_digest_email: :environment do
UserNotifier.mail_notification.deliver!
end
4。添加了deploy.rb
require 'whenever/capistrano'
set :whenever_environment, defer { stage }
set :whenever_command, 'bundle exec whenever'
在此之后我执行了命令 grep CRON / var / log / syslog ,其中我得到了以下日志
CMD (/bin/bash -l -c 'cd /home/username/repository && RAILS_ENV=production
bundle exec rake send_digest_email --silent')
但我仍然没有在收件箱中收到任何邮件。 我错过了什么?
答案 0 :(得分:2)
在schedule.rb中,将命令'cd / home / username / repository&amp;&amp;&amp;&amp;&amp;&amp; RAILS_ENV =发展 捆绑exec rake send_digest_email --silent'
:)