2017-09-13 147 views
0

我試圖創建一個cron作業,運行一個控制器方法與每當寶石,但我有麻煩。每當寶石控制器方法不起作用

配置\ schedule.rb

every 1.minutes do 
    runner "Reset.reset" 
end 

的lib \ reset.rb

class Reset 
    def reset 
    logger.debug("This is the cron job") 
    end 
end 

我也跑了,每當--update-crontab來更新cron作業。

爲什麼記錄儀消息不會在日誌中顯示?

感謝您的幫助。

回答

1

這是因爲Reset.reset會嘗試調用Reset類的重置方法。也就是說,Reset.reset可以調用類的方法

您的重置方法是一種實例方法。要定義一個Reset.reset類的方法,使用方法:

class Reset 
    def self.reset 
    logger.debug("This is the cron job") 
    end 
end 

此外,你需要確保你有一個self.logger類方法爲好,或者代碼就這樣消逝了。

最後,爲了您自己的啓發:Reset就像您寫的不是控制器。這只是一個普通的老紅寶石物體。

+1

呃,我也不能肯定只是從問題,但你使用Windows?我假設你是文件路徑中的反斜槓......每當使用「cron」,它是一個* nix實用程序。它可能只是不會在Windows上工作。 – Glyoko