2015-06-20 55 views
1

我是Ruby on Rails的新手。 我使用每當寶石和我按照這個鏈接http://www.sitepoint.com/schedule-cron-jobs-whenever-gem/
我做了什麼---
1.增加user_notifier.rb文件,並設置所有郵件的行動爲
Ruby on Rails 4每當cron作業工作但不知道輸出

實現與 cronjobs自動生成郵件功能
class UserNotifier < ActionMailer::Base 
    default from: "[email protected]" 

    def two_hour_reminder 
    mail(:to => '[email protected]' ,: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

mail_notification行動得到耙 'send_digest_email'在瀏覽器中執行並執行後發送郵件。 – Ni3

回答

1

在schedule.rb,替換命令 'CD /家/用戶名/庫& & RAILS_ENV =發展 束EXEC耙send_digest_email --silent'

:)