2013-12-23 76 views
1

我想使用每當gem在我的RoR應用程序中運行預定作業。我運行了捆綁安裝,這是我schedule.rb:Ruby on Rails 4每當cron作業不工作時

every 1.minute do 
    runner "Event.executeEvents" 
end 

我Event.executeEvents方法是一個簡單的日誌條目:

class Event < ActiveRecord::Base 

    def executeEvents 
    puts "executeEvents at [" + Time.now.inspect + "]" 
    end 
end 

如果我在命令行中執行whenever,我得到這個:

$ whenever      
* * * * * /bin/bash -l -c 'cd C:/dev/yanpyapi && bin/rails runner -e production '\''Event.executeEvents'\''' 

## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated. 
## [message] Run `whenever --help' for more options. 

什麼都沒有執行。

我錯過了什麼?

我需要初始化它嗎? 我讀過關於Capistrano的和RVM一些文檔,但我不知道這是什麼...對於

+0

http://stackoverflow.com/questions/7548730/cron-job-not-working-in-whe-never-gem/13257752#13257752 – damoiser

回答

11

你將不得不執行

whenever -i 

添加作業的crontab

+0

我得到這個錯誤,當我這樣做:$ every -i [失敗]無法寫入crontab;嘗試在沒有選項的情況下運行'when',以確保您的日程安排文件有效。 – Rober

+1

添加註釋:我試圖在Windows 7中運行它。它是否工作?我認爲它只會在Unix系統上工作... – Rober

+1

是的。它不適用於Windows – usha

2

另外,#executeEvents被定義爲一個實例方法。

在schedule.rb文件中,您將其稱爲類方法。