2015-01-01 63 views
0

我有一個包含一串任務的應用程序,並且每3分鐘我想運行一個發送郵件的一些測試cron作業。我使用的是每當寶石,但它似乎並沒有運行。任何想法?cron作業工作不適合當寶石

配置/ schedule.rb

every 3.minutes do 
    runner "MailerClass.some_method" 
end 

MailerClass.rb

def some_method 
    mail(:to => "some email", :cc => 'some email', :subject => "Regular Email by rake task #{Time.now.strftime("%H : %m")}", :from => "[email protected]") do |format| 
    end 
end 

對矯正的config/schedule.rb後,我曾嘗試是,

whenever --update-crontab --set environment=development 
sudo service cron restart 

當我運行 crontab -l 這是輸出

0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /bin/bash -l -c 'cd /home/my_app && script/rails runner -e development '\''MailerClass.some_method'\'' >> log/notification.log 2>&1' 

我已經檢查了日誌。問題是 腳本/導軌:6號線:附近意外的標記(' script/rails: line 6: APP_PATH = File.expand_path( '../../配置/應用',FILE)」

我沒有得到這個語法錯誤。我是新來的鐵軌。這就是爲什麼可能是:(。

任何解決方案!

回答

0

基於更新後的信息我是updaing我的回答
刪除括號的最後一個單引號形式最終形成這一行APP_PATH = File.expand_path('../../config/application', FILE)'

+0

謝謝,對不起,它不在模型中,它是在梅勒類。這是我的寫作錯誤。 – Sazzad

+0

我已經更新了我的答案,請立即檢查。 –

0

它看起來像你忘了實際發送電子郵件

而不是

MailerClass.some_method 

試試

MailerClass.some_method.deliver 
+0

謝謝,我也試過這個。仍然沒有解決問題。我檢查了日誌。這是找到的問題。但我沒有得到這個。我是新來的軌道,這就是爲什麼可能:) ascript /導軌:6號線:附近意外的標記語法錯誤'(「 腳本/導軌:6號線:'APP_PATH = File.expand_path(」 ../../配置/ application',__FILE__)' – Sazzad